Promise
Promise基础
new Promise(() => setTimeout(console.log, 0, 'executor'));
setTimeout(console.log, 0, 'promise initialized');
// executor
// promise initialized
let p = new Promise((resolve, reject) => setTimeout(resolve, 1000));
setTimeout(console.log, 0, p);
// 在console.log打印期约实例的时候,还不会执行超时回调(即resolve()) // Promise <pending>
let p = new Promise((resolve, reject) => { setTimeout(reject,10000); //10秒后调用reject() // 执行函数的逻辑
});
setTimeout(console.log, 0, p); // Promise <pending>
setTimeout(console.log,11000,p); //11秒后再检查状态 // (After 10 seconds) Uncaught error
// (After 11 seconds) Promise <rejected>let p1 = new Promise((resolve, reject) => resolve());
let p2 = Promise.resolve();Promise实例方法
Promise.prototype.then()
Promise.prototype.catch()
拒绝期约与拒绝错误处理
串行期约合成
期约取消
期约进度通知
异步函数策略
实现 sleep()
利用平行执行
平行控制并发数
串行执行期约
栈追踪与内存管理
使用 ReadableStream 主体
异步迭代
创建并使用异步迭代器
处理异步迭代器的reject()
使用next()手动异步迭代
参考资料
Last updated