在您的示例中,它可能是一个错误;我猜在return await
前面应该有一个Axios.request
。
但是,通常,除非调用者显式地仅接受返回Promise的函数,否则声明无等待函数async毫无意义。
,
简单地说,如果您在任何异步函数之前使用await
,它将继续等待请求成功。
在您的示例中:
async function doTask() {
let total = await CustomFunction(values);
console.log(`Main Total: ${total}`);
return total;
}
doTask();
在上面的示例中,如果您调用doTask()
,则total
将包含请求结果。但是,如果您不使用await,则total可能不包含请求结果。
async function doTask() {
let total = CustomFunction(values);
console.log(`Main Total: ${total}`);
return total;
}
doTask();
现在,如果您致电doTask()
,则它将返回undefined
或null
而不是实际请求。
,
将函数标记为异步但内部没有等待是一个坏习惯,因为它会强制您的转译工具(babel /打字稿)向生成的包中添加一些其他代码。
请参阅example和打字稿,尝试删除/添加异步单词。
但是如Juhil Somaiya所说,无需等待的代码将同步工作。
本文链接:https://www.f2er.com/3016570.html