首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NodeJs:回调函数有多个参数的util.promisify

NodeJs:回调函数有多个参数的util.promisify
EN

Stack Overflow用户
提问于 2019-01-04 20:48:07
回答 5查看 7.7K关注 0票数 16

我可能在这里遗漏了一些非常明显的东西,但是我如何将util.promisify与如下所示的函数一起使用呢?

代码语言:javascript
复制
function awkwardFunction (options, data, callback) {
    // do stuff ...
    let item = "stuff message"
    return callback(null, response, item)
}

我可以这样叫它:

代码语言:javascript
复制
 awkwardFunction ({doIt: true},'some data', (err, result, item) => {
      console.log('result')
      console.log(result)
      console.log('item')
      console.log(item)
      done()
    })

然后回来

代码语言:javascript
复制
result
{ data: 'some data' }
item
stuff message

使用简化版本时:

代码语言:javascript
复制
let kptest = require('util').promisify(awkwardFunction)
kptest({doIt: true},'some data')
   .then((response, item) => {
    console.log('response')
    console.log(response)
    console.log('item')
    console.log(item)

 })
 .catch(err => {
     console.log(err)
  })

同时尝试访问"response“和"item",第二个参数似乎被忽略了……

代码语言:javascript
复制
result
{ data: 'some data' }
item
undefined

有没有一种方法可以在不更改函数的情况下做到这一点(实际上,它是一个库函数,所以我不能)。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54039289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档