async和await实现多个promise顺序执行(同步执行)
async和await实现多个promise顺序执行(同步执行),使用场景:在一个请求结束后再执行第二个请求,第二个请求结束再请求第三个请求....
·
使用场景:在一个请求结束后再执行第二个请求,第二个请求结束再请求第三个请求....
list1() {
return new Promise(resolve => {
setTimeout(() => {
console.log('1', '我是第一个任务,必须第一个执行');
resolve(1);
}, 3000);
});
},
list2() {
new Promise(resolve => {
setTimeout(() => {
console.log('2', '我是第二个任务');
resolve(2);
}, 2000);
});
},
两个函数list1要延迟三秒执行,list2延迟2秒执行,正常顺序执行的话在js里两个异步任务肯定是一起执行的,打印出来就是哪个用时短先打印哪个,希望list1三秒结束以后再执行list2
利用async await
mounted() {
this.init();
},
methods: {
async init() {
await this.list1();
this.list2();
},
list1() {
// 这个里的return很关键,一定要return出去
return new Promise(resolve => {
setTimeout(() => {
console.log('1', '我是第一个任务,必须第一个执行');
resolve(1);
}, 3000);
});
},
list2() {
new Promise(resolve => {
setTimeout(() => {
console.log('2', '我是第二个任务');
resolve(2);
}, 2000);
});
},
}
这样打印出来就是1,2
更多推荐
已为社区贡献1条内容
所有评论(0)