如何使用具有n-arity功能的Highland的wrapCallback?

时间:2018-02-13 22:50:00

标签: highland.js

我想使用具有以下结构的方法(来自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)

这样就记录了流,而不是数据

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以在 wrapCallback内指定参数

const req = H.wrapCallback((uri, options, cb) => get(uri, options, cb))

req('some.uri', { options })

或者你可以直接使用发电机,如果回调有artiy> 2:

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

req('some.uri', { options })