【发布时间】:2021-12-02 07:38:23
【问题描述】:
如下所示,为预期非异步函数的参数提供了异步函数,但它起作用了,为什么?
function getCallback(param, callback) {
setTimeout(() => {
callback && callback(param);
}, 1);
}
getCallback(13, async (param) => {
console.log(param);
});
---
13
【问题讨论】:
-
因为
async function表达式和function表达式都创建了可调用的函数对象...为什么您认为它不起作用? -
getCallback不会对callback的返回值做任何事情,因此callback是否返回promise 不受影响。从外部看,返回一个 Promise 几乎是async函数的唯一显着特征。 -
好吧,如果你的回调返回一些重要的东西。例如,如果回调需要一个数字,它就不起作用等等。
标签: javascript asynchronous async-await callback