// Promise的模型:
// 挂起状态 已决状态 未决状态 三种状态
// Promise对象只能将挂起状态 推向另外两种状态(Promise是同步代码,只是推向不同的状态)
// 理解Promise: Promise构造函数是推向状态用的(Promise),推向不同的状态
// 对应不同的作业队列(then处理函数)
// 已决状态:是正常的逻辑状态(resolve)
// 未决状态: 是失败(发生错误,请求失败404,500, reject)
let pro = new Promise((resolve, reject)=>{
console.log('Promise');
setTimeout(()=>{
if(Math.random()<0.5) {
reject('推向失败状态')
} else {
resolve('推向已决,可以在then中做正常的逻辑处理')
}
}, 100)
})
pro.then(res=>{
console.log(res);
}, err=> {
console.log(err);
})
// 也可以将Promise封装成函数
function test(list) {
return new Promise((resolve, reject)=>{
resolve(list) //Promise只是推向已决,然后把Promise返回出去。在外面进行处理
})
}
let List = test('123');
List.then(res=>{
console.log(res);
});
console