javascript - 将 Promise.All 用于多个 ajax 请求时,如何将该数据分配给局部变量?
问题描述
我正在尝试使用 Promise.All() 三次。每一个都针对一个特定的ajax请求数组,这些请求调用我的代码隐藏中的一个函数,该函数返回一个jsonresult。有没有办法可以从 promise.all 获取数组返回并将其分配给本地数组。我最初尝试在 ajax 上使用 async:false,但速度非常慢。还有其他可能吗?
解决方案
你很幸运!Promise.all
返回一个数组,输出中的每个元素对应于输入的元素。
let asyncResults = await Promise.all([
asyncOp0(),
asyncOp1(),
asyncOp2()
])
此时,asyncResults
是一个局部数组。
asyncResults[0]
将是 asyncOp0 的返回
asyncResults[1]
将是 asyncOp1 的返回
asyncResults[2]
将是 asyncOp2 的返回
听起来这正是你想要的。
如果它返回的速度对您来说不够快,则可能的罪魁祸首是您正在访问的 HTTP 端点。您应该研究该端点的性能。或者,如果 HTTP 响应非常大,那么糟糕的性能只是其结果。补救措施可能需要您重新设计服务器 API 以返回您关心的数据的较小表示形式。
推荐阅读
- groovy - 覆盖单个对象的 toString 方法
- neo4j - 动态导入不均匀数据neo4j
- python - Flask Admin 嵌套 Inline_models
- docker - OpenCV 写入视频在 Docker 容器中不起作用
- android - 在 viewPager2 的适配器内 notifyDataSetChanged() 是什么意思?
- javascript - 使用来自 Web 应用程序的用户输入,使用 Alexa 将英语解析为 SQL
- c# - 将 xml 样本放入其中
标签 - yocto - Journald 未在 Yocto poky hardknott 中以配置的大小旋转
- typo3 - prevent autoUpdate and autoCreateSlugs in TYPO3 10
- amazon-web-services - 授予 AWS RDS 访问 KMS CMK 的最佳实践