有人可以帮助我理解这些块的执行方式(如果存在差异):
;(async function(){
await alert('Hello world!');
})();
和
let myFunction = async () => {
await alert('Hello world!');
};
除了IIFE立即被自我调用之外,这些块的执行方式是否存在差异?
答案 0 :(得分:1)
您的示例不是一个很好的示例,因为您没有在异步函数中执行异步操作。警报是同步的,因为在javascript执行将停止,直到它返回。这使得await关键字的使用毫无意义。
我看到的唯一区别是你没有将生成的承诺分配给iife中的变量,这意味着如果你正在执行异步操作,那么在完成代码时就无法执行代码。