一、什么是promise?
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。
二、promise对象特点:
(1)对象状态不会受到外界的影响,Promise对象代表一个异步操作,只有这个异步操作的结果可以决定是那种状态,其他任何操作都不会对它产生改变
(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果
三、同步和异步
同步:一次执行一个任务,在函数被调用后函数执行结束后,才能进行执行下一次任务
异步:它可以执行多个任务,和同步相反
创建一个promise实例:
const promise = new Promise(function(resolve, reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
resolve:在操作成功时调用,把结果作为参数传递出去。
reject:在操作失败后,吧失败的信息作为参数传递出去
什么是回调函数?
把一个函数A传给另一个函数B调用,那么A就是回调函数
promise的三种状态
1.pending:初始值,不是fulfilled,也不是rejected
2.fulfilled:代表操作成功
3.rejected:代表操作失败
then
then可以接受两个回调函数作为参数第一个是变为resolve调用另一个是变为reject调用
console.log('promise');
resolve();
});
promise.then(function() {
console.log('resolved.');
});
console.log('Hi');
他会最先输出promise,那个then方法会等其他的任务执行完后,在执行所以他会先输出hi,最后才是resolved
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。