zoukankan      html  css  js  c++  java
  • 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() 方法后面,但这个先执行
     
  • 相关阅读:
    mysql 远程登录修改配置
    scrapy--分布式爬虫
    win10---cmd终端下连接ubantu--SSH SERVER服务
    将python环境打包成.txt文件
    ubantu安装python3虚拟环境
    selenium 自动化安装火狐谷歌插件
    mysql主从复制-读写分离-原理
    mysql主从复制原理
    mysql储存引擎
    mysql检查-优化-分析
  • 原文地址:https://www.cnblogs.com/web-jscss-dabao/p/12884221.html
Copyright © 2011-2022 走看看