首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Marko中的<await>多个承诺

Marko中的<await>多个承诺
EN

Stack Overflow用户
提问于 2021-06-12 04:13:23
回答 2查看 57关注 0票数 0

在Marko中,一个<await>如何并行多个promises?

例如,我正在寻找类似这样的内容:

代码语言:javascript
复制
<await(promise1, promise2)>
  <@then|result1, result2|>
    promise1 and promise2 are resolved in parallel
    ${result1} renders whenever it is ready.
    ${result2} renders whenever it is ready.
  </@then>
</await>
EN

回答 2

Stack Overflow用户

发布于 2021-06-12 04:43:34

您可以使用Promise.all来完成此任务。

代码语言:javascript
复制
<await(Promise.all([promise1, promise2]))>
  <@then|[result1, result2]|>
    promise1 and promise2 are resolved in parallel
    ${result1} renders whenever it is ready.
    ${result2} renders whenever it is ready.
  </@then>
</await>

这将在所有promises完成后运行@then块。

票数 2
EN

Stack Overflow用户

发布于 2021-06-15 04:08:46

除了@Piercey4的响应之外,我还想补充说,如果你有多个标签,它们是并行运行的,所以如果你不需要把结果放在一起,你可以把它们分开包装:

代码语言:javascript
复制
promise1 and promise2 are resolved in parallel

<await(promise1)>
  <@then|result1|>
    ${result1} renders whenever it is ready.
  </@then>
</await>

<await(promise2)>
  <@then|result2|>
    ${result2} renders whenever it is ready.
  </@then>
</await>

使用默认的(按顺序)刷新,promise2将与promise1并行计算和呈现,但如果promise1尚未完成,则将缓冲内容以保持HTML源顺序。但是,如果它先完成,这将允许promise1的内容更早到达。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67943037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档