JavaScript 异步编程:Promise、事件、生成器的深度解析
1. Promise 基础
Promise 是处理异步操作的强大工具,它具有独特的特性。一个 Promise 要么被完成(fulfilled),要么被拒绝(rejected),且这种状态的改变只会发生一次。一旦 Promise 被完成或拒绝,就被认为是已解决(settled)。
与回调函数相比,Promise 还有一个便利的优势,即它是对象,可以被传递。例如,你启动一个异步过程,但希望他人处理结果,只需传递 Promise 即可。
创建 Promise 很直接,通过 new Promise 实例化,并传入一个包含 resolve 和 reject 回调的函数。以下是一个倒计时函数返回 Promise 的示例:
function countdown(seconds) {
return new Promise(function(resolve, reject) {
for(let i=seconds; i>=0; i--) {
setTimeout(function() {
if(i>0) console.log(i + '...');
else resolve(console.log("GO!"));
}, (seconds-i)*1000);
}
});
}
</
JavaScript异步编程:Promise、事件与生成器解析
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



