Promise相关,核心十题,由浅入深

1. Promise 出现的意义,为了解决什么问题

2. Promise 内部状态机有哪些状态,及状态之间如何流转,如何触发各个状态间的改变

3. Promise 如何实现 由 then 到 catch 到 then 的状态变换

如何让 以下两行代码依次执行,不跳过任何一个方法

...then().catch().then();

...then().catch().catch().then();

4. Promise 的异步队列和 setTimeout 的异步队列有什么区别,那个优先级更高

5. 将setTimeout 方法 使用Promise 封装

6. async await 的使用方法 和 条件

7. 如何让一个方法在保持同步执行的情况下 支持 await 关键字

将下列方法改造成 支持 await test(1, 2);(要求: a + b 需要同步执行)

function test(a, b) {
    return a + b;
}

8. 如何让一个Promise成功之后再开始另外一个Promise (此处不得使用 await)

现实场景 一个 api 调用成功之后 将返回值作为下一个 api的参数 开始下一个api的调用 最后返回 第二个api的响应值

// resp1 resp2 分别代表 第一二个 api 的返回值
function getData() {
    api1().then((resp1) => {});
    /* 请完善剩余代码... */
}

getData().then((resp2) => {});

9. 将 setInterval 方法使用 Promise 封装

10. 了解下 Promise 的降级实现代码

Promise相关,核心十题,由浅入深||平易在线