如果我在嵌套函数调用中使用async / await函数,我认为async / await函数的调用者应该具有async / await前缀。
例如,在这种情况下:
function a() {
b();
}
function b() {
c();
}
function c() {
d();
}
...
function y() {
z();
}
如果z
是异步函数,那么这些函数应该是:
async function a() {
await b();
}
async function b() {
await c();
}
async function c() {
await d();
}
...
async function y() {
await z();
}
何时/如何停止async / await的链接?
答案 0 :(得分:2)
async
函数只是承诺的语法糖。它是一个返回承诺的函数,应该被视为一个函数。
在某些时候应该有:
a().catch(...)
或async
IIFE:
(async () => {
try {
await a();
} catch (e) { ... }
})();