js promise的基本用法和一些API

本文介绍了Promise作为异步编程解决方案的基本用法和API。包括Promise的三种状态:pending、resolved和rejected,以及如何通过then、catch、resolve、reject、all和race方法进行异步控制。通过示例详细解析了Promise链式调用和异步执行顺序,特别是Promise.all和Promise.race的用法及区别。
摘要由CSDN通过智能技术生成

MDN上面对promise的解释:
Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象
我的理解就是:Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理且更强大。

基本写法
let pro = new Promise((res, rej) => {
    res(1);
    rej(2);
});

pro.then(
        data => console.log(data),
        err => console.log(err)
    );

在ES6中,将一件可以发生异步操作的事件,分为两个阶段unsettled未决阶段和settled已决阶段
在上述代码中,通过new 生成promise对象的时候的promise函数内为未决阶段,在通过then方法处理异步操作的时候为已决阶段。
ES6也将程序分为三种状态pendding resolved rejected
pendding状态处于unsettled未决阶段,resolved rejected状态都处于settled已决阶段。
上述代码中通过new 生成promise对象的时候的promise函数内为padding状态,函数内res把程序推向resolved状态࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值