0
点赞
收藏
分享

微信扫一扫

【js进阶】promise讲解

回调地狱

promise 承诺

实现承诺 承诺石沉大海 承诺等待结果中……

resolve 解决问题

reject 拒绝考虑

pending 苦苦等待

解决异步流程化的一种手段。

Promise 是一个构造函数 需要new

Promise 参数 excutor 执行器

excutor -> resolve reject 函数

excutor new Promise 调用

// excutor 是同步执行的
let promise = new Promise((resolve,reject)=>{
    console.log(1);
})
console.log(2);

// then 是异步调用

excutor 是同步执行的。

then 是异步调用。

pending -> resolve

pending -> reject

只能这样转换。

Promise.all([promise1,promise2,promise3])

多个异步任务并发运行,它的结果创建承诺之后使用,等待所有任务结果完成。

iterable 内部元素传递的是promise对象集合,如果不是promise,直接resolve将值返回

iterable 内部没有元素,就返回空数组。

其中只要有一个promise 是rejected状态的话,那么实例回调就是rejected。

失败的原因是第一个失败的promise 的结果

Promise.race()

谁先完成就返回那个promise的结果,无论是成功还是失败(fullfilled或者rejected)

测试资源或者接口的响应速度

async await

await 是一个操作符,等待一个Promise对象产出结果的操作手段

功能是暂停async函数的执行,等待promise处理后的结果。

如果Promise 处理结果是rejected,会抛出异常

acync 函数是通过隐式的Promise 返回pending状态

async 的意思是当前这个异步函数与同一作用域下的程序是异步的关系。

举报

相关推荐

0 条评论