在Marko中,一个<await>如何并行多个promises?
例如,我正在寻找类似这样的内容:
<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>发布于 2021-06-12 04:43:34
您可以使用Promise.all来完成此任务。
<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块。
发布于 2021-06-15 04:08:46
除了@Piercey4的响应之外,我还想补充说,如果你有多个标签,它们是并行运行的,所以如果你不需要把结果放在一起,你可以把它们分开包装:
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的内容更早到达。
https://stackoverflow.com/questions/67943037
复制相似问题