Javascript 回调可以与承诺一起使用吗?在node.js中是这样还是那样?
我对NodeJs是新手。我读了之后发现了一个问题: 回调可以与承诺一起使用吗?或者是一种方式还是另一种方式 我搜索了答案,但不清楚。那么答案是什么呢Javascript 回调可以与承诺一起使用吗?在node.js中是这样还是那样?,javascript,node.js,Javascript,Node.js,我对NodeJs是新手。我读了之后发现了一个问题: 回调可以与承诺一起使用吗?或者是一种方式还是另一种方式 我搜索了答案,但不清楚。那么答案是什么呢 谢谢。你总是可以把回访变成承诺,让它与你的其他承诺顺利配合。让我们假设asyncFunc是一个接受回调的函数。您可以通过以下方式将其转化为承诺: new Promise((resolve, reject) => { asyncFunc((error, result) => { if (error) {
谢谢。你总是可以把回访变成承诺,让它与你的其他承诺顺利配合。让我们假设
asyncFunc
是一个接受回调的函数。您可以通过以下方式将其转化为承诺:
new Promise((resolve, reject) => {
asyncFunc((error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
}
});
大多数实现承诺的库都为上述代码构造提供了快捷方式:
Promise.promisify(asyncFunc);
当然可以,只要调用回调作为
链的一部分,然后
/.catch
链即可。当您要重构旧代码,但不想更改整个库时,这是有意义的。最后,承诺只是一种更干净的回调方式。从技术上讲,承诺使用回调。