您可以使用async
/ await
来做到这一点:
function async someFunction() {
// Code
try {
await somePromise();
} catch (err) {
console.log(err);
return; // aborts further execution
}
// More Code
}
有关详细信息,请参见async function。
,
异步/等待解决了问题,但是了解为什么它可以解决问题很重要。
Promise是一种存储连续性的机制。传递给then
和catch
的函数存储在promise中,并在解决promise时执行。
要在没有async
/ await
的情况下解决此问题,您只需返回Promise并使用then
执行在Promise不拒绝的情况下应执行的任何代码:
function someFunction() {
// Code
return somePromise()
.then(result => {
// More Code
})
.catch(err => {
console.log(err);
});
}
这实际上是async
/ await
去糖的目的。异步/等待是状态机周围的语法糖,可以为您连接这些延续。
本文链接:https://www.f2er.com/2782601.html