首页 > 开发 > JS > 正文

详解ES6 Promise对象then方法链式调用

2024-05-06 16:46:31
字体:
来源:转载
供稿:网友

promise俗称链式调用,它是es6中最重要的特性之一

简单的说可以不停的then调用嵌套在调用(异步之后,链式调用方式执行回调),这种操作方式称为promise

then()方法的作用是Promise实例添加解决(fulfillment)和拒绝(rejection)状态的回调函数。then()方法会返回一个新的Promise实例,所以then()方法后面可以继续跟另一个then()方法进行链式调用。

let p = new Promise((resolve, reject) => {  setTimeout(resolve, 1000, 'success');});p.then(  res => {    console.log(res);    return `${res} again`;  })  .then(    res => console.log(res)  );// 连续// success// success again

但是前一个then()方法中的回调函数中又可能返回一个Promise实例,这时候后面一个then()方法中的回调函数会等前一个Promise实例的状态发生变化才会调用。

let p = new Promise((resolve, reject) => {  setTimeout(resolve, 1000, 'success');});p.then(  res => {    console.log(res);    return new Promise((resolve, reject) => {      setTimeout(resolve, 1000, 'success');    });  })  .then(    res => console.log(res)  );// 相隔1000ms// success// success

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表