首页 > 试题广场 >

下面关于Promise说法正确的是(注意“返回结果”的意思包

[不定项选择题]

下面关于Promise说法正确的是(注意“返回结果”的意思包含成功或者失败)

  • Promise.all在所有给定的promise都fulfilled后才返回结果

  • Promise.race在给定的promise中,某个fulfilled后才返回结果

  • promise.then的回调函数中,可以返回一个新的promise

  • 对于一个向后台获取数据已经产生结果的promise:p1,再次调用p1.then,不会去重新发起请求获取数据

结果可能是成功也可能是失败!
发表于 2021-06-28 08:45:22 回复(0)

1、Promise.all()

const p=new Promise([p1,p2,p3])
p的状态由p1、p2、p3决定,分成两种情况。
(1)只有p1、p2、p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1、p2、p3的返回值组成一个数组,传递给p的回调函数。
(2)只要p1、p2、p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实例的返回值,会传递给p的回调函数。

2、Promise.race()

const p = Promise.race([p1, p2, p3]);

上面代码中,只要p1、p2、p3之中有一个实例率先改变状态,p的状态就跟着改变。那个率先改变的Promise实例的返回值,就传递给p的回调函数。
3、Promise.then()参考阮一峰es6对于链式调用的描述
4、Promise对象的特点
(1)对象状态不受外界干扰,Promise代表一个异步操作
(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果
发表于 2021-07-11 11:00:42 回复(0)
	

promise.then的回调函数中,可以返回一个新的promise

	

对于一个向后台获取数据已经产生结果的promise:p1,再次调用p1.then,不会去重新发起请求获取数据

发表于 2022-06-26 18:29:24 回复(0)
b 选项不对吧,promise.race  中谁先有结果就返回谁不管失败和成功,b 却是要成功后才返回
发表于 2022-04-25 15:35:54 回复(0)
Promise.all在所有给定的promise都fulfilled后才返回结果
这个有点不严谨吧.....

发表于 2022-04-04 09:50:35 回复(0)
  • Promise.all()中的Promise序列会全部执行通过才认为是成功,否则认为是失败;
  • Promise.race()中的Promise序列中第一个执行完毕的是通过,则认为成功,如果第一个执行完毕的Promise是拒绝,则认为失败;
  • Promise.any()中的Promise序列只要有一个执行通过,则认为成功,如果全部拒绝,则认为失败;
发表于 2022-03-01 14:00:38 回复(0)
Promise.race的使用

顾名思义,Promse.race就是赛跑的意思,意思就是说,Promise.race([p1, p2, p3])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。


发表于 2022-02-19 12:32:35 回复(0)
A. 可能存在某一个promise 出错后就会立刻返回结果
B.并不指定某个完成后,而是看哪个优先完成
编辑于 2021-10-08 09:19:11 回复(0)

https://www.jianshu.com/p/7e60fc1be1b2

A.Promise.all都fulfilled后返回resolved的成功数组,一个rejected就返回rejected的值。

B.Promise.race哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。

发表于 2021-09-06 20:03:13 回复(0)