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相关,核心十题,由浅入深||平易在线