Node.js 承诺链
承诺链接:承诺链接是一种语法,允许您以特定的顺序将多个异步任务链接在一起。这对于复杂的代码非常有用,在复杂的代码中,一个异步任务需要在另一个异步任务完成后执行。
为了演示承诺链,下面的函数将用于模拟异步任务。实际上,这只是将几个数字相加,等待两秒钟,然后用总和来实现承诺。
文件名:index.js
const add = (a, b) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (a < 0 || b < 0) {
return reject('Numbers must be non-negative')
}
resolve(a + b)
}, 2000)
})
}
add(1, 2).then((sum) => {
console.log(sum) // Print 3
return add(sum, 4)
}).then((sum2) => {
console.log(sum2) // Print 7
}).catch((e) => {
console.log(e)
});
运行程序的步骤:
-
Run index.js file using below command:
js node index.js
定义了虚拟异步函数后,承诺链可以用来调用 add 两次。下面的代码将 1 和 2 相加,总共是 3。然后,它使用和值 3 作为另一个要添加的调用的输入。第二次调用将 3 和 4 相加,总计为 7。
当回调函数返回一个承诺时,就会发生承诺链接。它允许你链接到另一个通话,当第二个承诺实现时,该通话将运行。仍然可以调用 Catch 来处理过程中可能出现的任何错误。
版权属于:月萌API www.moonapi.com,转载请注明出处