JavaScript异步编程:Promise、事件、生成器的深度解析
1. Promise基础
Promise是一种用于处理异步操作的对象,它有三种状态:进行中(pending)、已成功(fulfilled)、已失败(rejected)。一旦Promise的状态从进行中转变为已成功或已失败,就被认为是已解决(settled),且这个转变只会发生一次。
与回调函数相比,Promise有一个显著的优势,即它是对象,可以在代码中传递。例如,你启动一个异步进程后,若希望他人处理结果,只需将Promise传递给他们。
1.1 创建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)*1
超级会员免费看
订阅专栏 解锁全文
32

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



