回调可以与promises一起使用,还是在node.js中以某种方式使用?

时间:2017-06-02 07:54:24

标签: javascript node.js

我是NodeJs的新手。我看了this article,发现了一个问题:

  

回调可以与promises一起使用,还是以某种方式使用?

我搜索了答案,但目前尚不清楚。那么答案是什么?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以随时将回调变为承诺,使其顺利地与您的其他承诺合作。我们假设asyncFunc是一个接受回调的函数。你可以用这种方式把它变成一个承诺:

new Promise((resolve, reject) => {
    asyncFunc((error, result) => {
        if (error) {
            reject(error);
        } else {
            resolve(result);
        }
    }
});

大多数实现promises的库都为上面的代码构造提供了一个快捷方式:

Promise.promisify(asyncFunc);