首页 > 其他 > 详细

async

时间:2019-11-16 16:56:50      阅读:101      评论:0      收藏:0      [点我收藏+]

async函数

  • 关键字
    async await
  • async

    1.async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。
    2.用来定义一个返回 AsyncFunction 对象的异步函数。异步函数是指通过事件循环异步执行的函数,它会通过一个隐式的 Promise 返回其结果。

  • 使用await关键字后

    1.一个 Promise对象 被传递给一个 await 操作符,await 将等待 Promise 正常处理完成并返回其处理结果
    2.await 表达式会暂停当前 async function 的执行,等待 Promise 处理完成。若 Promise 正常处理(fulfilled),其回调的resolve函数参数作为 await 表达式的值,继续执行 async function。
    3.await必须在async声明的函数内部使用,否则会报错
    4.如果不加await关键字返回的的是一个处理的promise对象,这里是async函数返回的promise对象和await没有关系,//这里是自己的理解

  • await 将等待 Promise 正常处理完成并返回其处理结果案例
async function log(){
var data=await getapi();
console.log(data);//这里使用await之后返回的结果是Promise 正常处理完成并返回其处理结果: 在代码下方 


}

async function getapi() {
      var data = $.ajax({//使用的是jQuery ajax
        url: 'https://api.apiopen.top/developerLogin',//此处是ajax请求地址
        type: "post",//请求方法
        data: {//发送的请求的数据        
          name: 411524,
          passwd: 411524
        },
        
      })
     
      return data;
    }

这是加await返回的结果
技术分享图片
这是不加await返回的结果,async函数会返回一个promise对象

技术分享图片

  • 任何一个await语句后面的promise对象出现reject状态,那么整个async函数都会中断执行
async function f() {
  await Promise.reject('出错了');
  await Promise.resolve('hello world'); // 不会执行
}

async

原文:https://www.cnblogs.com/shiazhen/p/11871969.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!