提问者:小点点

如何等到一个promise完成,即使有些拒绝或仍在进行?


我正在使用puppeteer处理Node.js应用程序,我有一些可能包含在页面中的XPATH列表,我不能只等其中一个,因为它可能不包含在这个页面中,我想等到只有其中一个出现

所以我在想,有没有可能等到其中一个解决了,即使另一个被拒绝,甚至没有完成。

如果你有答案,请显示一些代码


共1个答案

匿名用户

您似乎需要promise.any():

https://v8.dev/features/promise-combinators#promise.any

https://v8.dev/blog/v8-release-85#JavaScript

但是,您只能在使用V8 85的last Node.js canary版本中不加标记地使用它。

对于Node.jsV14.6.0或nightly,您需要--harmony-promise-any标志。