zoukankan      html  css  js  c++  java
  • JavaScript async/await 基础知识

    async

    • 作用: async函数返回一个 Promise对象,无论内部有没有await关键字.

    await

    • 作用: await等待的是一个表达式,这个表达式的计算结果是 Promise 对象 或者是其他值 (await可以等待任意表达式的结果)
    • 如果await的不是一个Promise对象, 那 await表达式的运算结果就是他等待的东西
    • 如果await的是一个Promise对象, await就会开始工作,它会阻塞后面的代码,等着Promise对象resolve,然后得到resolve的值,作为await表达式的运算结果
      这就是await必须用在async函数中的原因, async函数调用不会造成阻塞,它内部所有的阻塞都被封装在一个Promise对象中异步执行

    async/await 对比 Promise

    // async/await 方式
    async getBooks(id){
      const books = await boolModel.fetch()
      return books.filter(b => b.bookId == id) // 但是如果外部调用getBooks还需要返回books,依然需要.then()来得到值,因为 getBoos是被 async修饰的
    }
    
    // promise 方式
    getBooks(id){
      return bookModel.fetch()
        .then(books => books.filter(b => b.bookId == id))
    }
    

    通过对比可以得知: await处理了Promise返回的结果,不需要再使用.then()来出来Promise的结果

    Keep learning
  • 相关阅读:
    初学者一些常用的SQL语句(一)
    java小知识
    ArrayList底层实现原理
    JVM原理
    一个简单的登陆注册页面(希望可以帮到您)
    数据结构
    C++/C
    C的函数指针与指针函数
    函数指针与指针函数
    对数据库通用性的更新操作(ssh)
  • 原文地址:https://www.cnblogs.com/leslie1943/p/13353544.html
Copyright © 2011-2022 走看看