答案 0 :(得分:1)
您可以随时将回调变为承诺,使其顺利地与您的其他承诺合作。我们假设asyncFunc
是一个接受回调的函数。你可以用这种方式把它变成一个承诺:
new Promise((resolve, reject) => {
asyncFunc((error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
}
});
大多数实现promises的库都为上面的代码构造提供了一个快捷方式:
Promise.promisify(asyncFunc);