关于 Promise.all() 失败的时候的一个问题

发布于 2021-12-03 17:46:27 字数 751 浏览 847 评论 1

代码如下:

                    function test() {
				return new Promise(function(resolve, reject) {
					var ran = Math.random()*10;
					if(ran<=5) {
						resolve(ran);
					}else {
						reject(ran);
					}
					console.log('随机数字 '+ ran);
				});
			}

			Promise.all([test(), test()])
			.then(function(data) {
				console.log('<=5', data);
			}, function(data) {
				console.log('>5', data);
			});



当2个随机数都<=5是,就会输出全部的信息,但是当第一个随机数>5是时,输出就卡在这里了,即使第2个随机数<=5,最后输出的也只有1个>5的,为什么进入reject之后,信息就不传递了呢?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文