• async await和promise的区别,和使用方法


    async和promise都是异步方法,区别是async生成的结果是promise对象,async是promise的终结版。
    await只能在async中使用,await是阻塞的意思,就是暂停,你一起调用2个接口,第一个执行完,不输出结果,要等最第二个接口执行完,才返回这两个的结果。
     
    现在一块请求两个对象
    请求的对象1
    function nvm(num){
      return new Promise((resolve, reject)=>{
        setTimeout(()=>{
          resolve(num*2)
        },2000)
      })
    }

    请求的对象2

    function nvm2(num){
      return new Promise((resolve, reject)=>{
        setTimeout(()=>{
          resolve(num*2)
        },3000)
      })
    }

    在这写一个async方法

    async function timi(res){
      let a=await nvm(2)    //这里执行2s //await后面可以跟任何方法,对象
      let b=await nvm2(2) //这里执行3s
      let c=await nvm(2)  //这里再执行2s
      console.log(a,b,c)  //你等7s,才打印出结果
    }
    timi() //执行async方法
     
     
    再写一个async方法 timi2()和第一个timi()做对比
    async function timi2(res){
      return "sss" //现在直接return出结果
    }
    console.log(timi2()) //打印出来promise对象Promise {<resolved>: "sss"}
              // __proto__: Promise
              // [[PromiseStatus]]: "resolved"
              // [[PromiseValue]]: "sss"
    timi2().then((res)=>{
      console.log(res) //打印出sss
    })
     
     
    虽然timi2()  在 timi() 方法后面,但这个先执行
  • 相关阅读:
    在QT中应用中文
    DDA画直线
    裁剪算法
    VC6与office2007冲突的解决方法
    肾形图案
    OPENGL函数说明
    基数排序
    Qt信号和槽机制
    分形曼德尔波集合图形
    分形朱利亚集合图形1
  • 原文地址:https://www.cnblogs.com/cbugs/p/13790757.html
Copyright © 2020-2023  润新知