zoukankan      html  css  js  c++  java
  • await 理解(day02)

    await 操作符用于等待一个Promise 对象。它只能在异步函数 async function 中使用。

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

    如果该值不是一个 Promise,await 会把该值转换为已正常处理的Promise,然后等待其处理结果。

    async function f2() {
      var y = await 20;
      console.log(y); // 20
    }
    f2();
    

    如果 Promise 处理异常,则异常值被抛出。

    async function f3() {
      try {
        var z = await Promise.reject(30);
      } catch (e) {
        console.log(e); // 30
      }
    }
    f3();
    

    reject 和 then ,catch问题

    当我们reject()一个东西的时候,我们在then中函数的第二个回调中可以接收到reject的值,如果没有第二个回调,reject()的值可以用catch接受。但是resolve的值一定在then中接受。由于等网络出现的非逻辑问题只能在catch中接收。

  • 相关阅读:
    binary and out mode to open a file
    ADV7482&TP2825开发之总结
    C++ 操作符重载
    OpenCV学习(一)基础篇
    Linux设备驱动程序 第三版 读书笔记(一)
    My First Linux Module
    Bitmap每个像素值由指定的掩码决定
    C++ File Binary
    Bitmap RGB24 4字节对齐
    查看binlog的简单方法!
  • 原文地址:https://www.cnblogs.com/jackson1/p/13286011.html
Copyright © 2011-2022 走看看