Promise

作者: 月光也会跟着我 | 来源:发表于2019-07-22 11:58 被阅读0次

Promise对象就是一个异步请求占位符对象

把异步请求封装在Promise对象中,Promise的构造函数传入一个函数,其中两个参数为resolve和reject函数,当异步请求结束后,可以通过这两个函数返回请求的信息。

例:

const promise = new Promise((resolve,reject)=>{
  setTimeOut(()=>{
    resolve(r);
  }, 200);
})
promise.then((msg)=>{
  console.log(msg);
})

Promise对象的then可以接受resolve函数的参数,且可用于链式编程,因为promise.then()方法返回的也是一个promise对象

async和await

async函数返回一个promise对象(告诉其内部有异步操作)

如果async函数有return,则return作为其resolve的返回值,如果async函数无返回值,则返回undefined;

await为then语法糖,返回promise对象的resolve值,async函数内部会等待await执行完毕后再执行后续语句(异步转同步)

await后面如果不是promise对象,则返回其值。

注意点:最好把async...await放入try...catch中使用

相关文章

网友评论

      本文标题:Promise

      本文链接:https://www.haomeiwen.com/subject/gqbilctx.html