jov*_*van 13 javascript promise reactjs react-native expo
我计划在我的 React Native - Expo 项目中将一些 Promise.all 更新为 Promise.allSettled,但该函数不存在。我检查了所有版本,一切都合适,但我仍然无法使用该功能。
节点-v:14.15.4
expo SDK -v 版本:^40.0.1
expo 在其 SDK 版本中使用了 React Native -v 0.63。这不应该是问题。这是错误消息:
Promise.allSettled 不是一个函数
有人知道这个问题的解决方案吗?感谢您的帮助!
Nul*_*Dev 16
对于遇到此问题的任何人,显然这已在 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
}))
)
));
Run Code Online (Sandbox Code Playgroud)
React Native 使用https://github.com/then/promise作为 Promises,并且仅在版本 8.2.0 中添加了allSettled. React Ntaive 团队仅在0.70.6中更新到此版本(此处列出了更改,包括承诺版本升至 8.3.0 https://github.com/facebook/react-native/releases/tag/v0.70.6)
| 归档时间: |
|
| 查看次数: |
14561 次 |
| 最近记录: |