【发布时间】:2019-12-20 23:59:28
【问题描述】:
我正在尝试使用 node js promisify 将回调转换为 promise inoreder 以在异步回调函数上使用 await。
我尝试了不同的方法来传递参数并放置记录器
const {promisify} = require('util');
const callbackFn = (firstName, callback) => {
setTimeout(() => {
console.log("1");
if (!firstName) callback(new Error('no first name passed in!'),null)
const fullName = `${firstName} IBM`
callback(null,fullName)
}, 2000)
}
async function useAwaitEx(){
try {
var calbbackfnpromisfied = promisify(callbackFn);
console.log("3");
var result = await calbbackfnpromisfied('mayank', console.log);
console.log("2");
console.log("result"+result)
}catch (error) {
console.log("error"+error);
}
}
useAwaitEx();
我期望输出为 3 1 null 'mayank IBM' 2 null 'mayank IBM'
我得到的输出为 3 1 null 'mayank IBM'
【问题讨论】:
-
没有名为 result2 的变量。另外,你说的是你想要什么输出,而不是你得到什么。
-
@ThisIsNoZaku 使用实际结果完成了编辑并删除了 result2 记录器
标签: javascript node.js node-promisify