如何将 Highland 的 wrapCallback 与 n-arity 函数一起使用?



我想使用具有以下结构的方法(来自jsonist):jsonist.get(uri, options, callback)

需要urioptions(传递某个标头的选项)

但是我不确定Highland的wrapCallback是否可以处理这里的两个选项(减去回调)

const H = require('highland') const req = H.wrapCallback(jsonist.get) req(uri, options).apply(H.log)

这样,将记录流,而不是数据

有没有更好的方法可以做到这一点?

您可以在wrapCallback指定参数:

const req = H.wrapCallback((uri, options, cb) => get(uri, options, cb))
req('some.uri', { options })

或者,如果回调具有 2>,您可以直接使用生成器:

const req = (uri, options) => H(push => {
get(uri, options, (err, res, body) => {
push(err, body)
push(null, h.nil)
})
})
req('some.uri', { options })

最新更新