我计划在我的 React Native - Expo 项目中将一些 Promise.all 更新为 Promise.allSettled,但该功能不存在。我检查了所有版本,一切都合适,但我仍然无法使用该功能。
节点-v:14.15.4
博览会 SDK -v 版本:^40.0.1
expo 在其 SDK 版本中使用 react native -v 0.63。这应该不是问题。这是错误消息:
Promise.allSettled 不是函数
有人知道解决这个问题吗?谢谢您的帮助!
我计划在我的 React Native - Expo 项目中将一些 Promise.all 更新为 Promise.allSettled,但该功能不存在。我检查了所有版本,一切都合适,但我仍然无法使用该功能。
节点-v:14.15.4
博览会 SDK -v 版本:^40.0.1
expo 在其 SDK 版本中使用 react native -v 0.63。这应该不是问题。这是错误消息:
Promise.allSettled 不是函数
有人知道解决这个问题吗?谢谢您的帮助!
对于遇到此问题的任何人,显然这已在 v64 中修复:
https://github.com/facebook/react-native/issues/30236#issuecomment-939286987
对于旧版本,您可以使用简单的 polyfill:
Promise.allSettled = Promise.allSettled || ((promises) => Promise.all(
promises.map(p => p
.then(value => ({
status: "fulfilled",
value
}))
.catch(reason => ({
status: "rejected",
reason
}))
)
));