Javascript 像 Java 8 上的“Promise.all”(可能带有 lambdas)

Posted

技术标签:

【中文标题】Javascript 像 Java 8 上的“Promise.all”(可能带有 lambdas)【英文标题】:Javascript Like "Promise.all" on Java 8 (maybe with lambdas) 【发布时间】:2019-06-22 20:24:50 【问题描述】:

我想知道是否有类似于 Java 8(目前在 android 上)的 javascript 的“Promise.all”的东西。我正在尝试在所有回调完成时进行,然后执行第二个进程。

现在我使用的回调是 lambdas 表达式,但我愿意接受有关更改回调方式和所有回调完成时执行的“大回调”的建议。

我使用回调计数器来实现,当回调计数器等于回调长度时,就会调用大回调。但我确信这个解决方案不是正确的。

【问题讨论】:

【参考方案1】:

Java 8 将其提供为 CompletableFuture.allOf(CompletableFuture...),它模仿 Promise.all;还有CompletableFuture.anyOf(CompletableFuture...)在Javascript中模仿Promise.race。

如果您改用 ListenableFuture,Guava 会以 Futures.allAsList(...) 执行此操作,同时具有可变参数和可迭代重载。

【讨论】:

请注意,与Promise.all() 不同,allOf() 不返回结果数组 - 您需要保留对原始 Future 对象的引用,并在调用 @ 后对每个对象调用 get() 987654329@ 声明。

以上是关于Javascript 像 Java 8 上的“Promise.all”(可能带有 lambdas)的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript原型链的理解

pr这种情况怎么办,右边为啥会放大,急!!!真心求助

Java 8 的 Nashorn 脚本引擎教程

滚动底部 html javascript 上的 div 内容

JavaScript 变量

pr转场音效放在哪个文件夹?