代码语言:javascript复制
let timer1 = function(){
let p = new Promise((res,rej)=>{
setTimeout(()=>{
console.log("我是timer1");
// res必须包含,没有这个东西你的函数触发.then
// 表示成功后返回的内容
res('timer1成功后返回的内容');
},1500)
})
return p;
}
let timer2 = function(){
let p = new Promise((res,rej)=>{
setTimeout(()=>{
console.log("我是timer2");
res('timer2成功后返回的内容');
},500)
})
return p;
}
let timer3 = function(){
let p = new Promise((res,rej)=>{
setTimeout(()=>{
console.log("我是timer3");
res('timer3成功后返回的内容');
},1000)
})
return p;
}
// 单个调用
timer1().then((data)=>{
console.log(data);
})
// 连续调用
timer1().then((data)=>{
console.log(data);
return timer2();
}).then((data)=>{
console.log(data);
return timer3();
}).then((data)=>{
console.log(data);
})
//通过all方法调用 注意 这个方式是并行执行的 无法决定顺序
Promise.all([timer1(), timer2(), timer3()]).then(function(results){
console.log(results);
});