想用promise.all同时执行两个异步方法,可promise定义时(如let p1 = wake(3000);)就执行了,就像下面的情况。promise.all怎么同时执行两个动作?
// 控制台环境下输入,两段分开
let wake = (time) => { return new Promise((resolve, reject) => { console.log(time); setTimeout(() => { console.log('time::::',time) resolve(`${time / 1000}秒后醒来`) }, time) }) } let p1 = wake(3000); // 打印:3000;间隔3s打印: 3秒后醒来 let p2 = wake(2000); // 打印:2000;间隔2s打印: 2秒后醒来 // 此处敲回车并等待,结果如图
// 然后再输入如下内容,回车 Promise.all([p1, p2]).then((result) => { console.log(result) // 立即输出[ '3秒后醒来', '2秒后醒来' ],没有其他console }).catch((error) => { console.log(error) })
如图:
后面的promise.all(),只有接受promise的作用?那这种promise是不是没有意义?
待解决
悬赏分:20
- 离问题结束还有 36天12小时54分29秒
点赞 0反对 0举报 0
收藏 0
分享 1
