异步回调会面临的四个问题:


提出的解决方案:Promise
new Promise(
// 执行器executor
function(resolve, reject) {
// 一段耗时很长的异步操作
resolve(); // 数据处理完成
reject(); // 数据处理出错
}
).then(function A() {
// 成功,下一步
}, function B() {
// 失败,做相应处理
})
Promise有3个状态:
pending[待定] 初始状态
fulfilled[实现] 操作成功
rejected[被否决] 操作失败
当Promise状态发生改变,就会触发.then()里的响应函数处理后续步骤。
Promise状态一经改变,就不会再变。


网友评论