JavaScript await函数


写前端js的时候遇到的一个问题:因为自己写的函数先操作了DOM的改动,结果后面该系统本身的一些函数又覆盖了我先前的改动,很麻瓜.....决定让它的函数先执行完成再运行自己的DOM改动。

await描述:

  • await 表达式会暂停当前 async function 的执行,等待 Promise 处理完成。若 Promise 正常处理(fulfilled),其回调的resolve函数参数作为 await 表达式的值,继续执行 async function。
  • 若 Promise 处理异常(rejected),await 表达式会把 Promise 的异常原因抛出。
  • 另外,如果 await 操作符后的表达式的值不是一个 Promise,则返回该值本身。

例子:

如果一个 Promise 被传递给一个 await 操作符,await 将等待 Promise 正常处理完成并返回其处理结果。

async function waitFunction(){
    const x = await after1Second(10);
    alert("Hello World!");//延迟后执行的代码块
    }
};

function after1Second(x){
    return new Promise(resolve => {
        setTimeout(() => {
          resolve(x);
        }, 1000); //1秒 = 1000
      });
}

参考网址

最后修改:2023 年 12 月 28 日
喜欢就请我喝一杯奶茶吧~