gpt4 book ai didi

javascript - 为什么 Promise 没有 get() 函数?

转载 作者:数据小太阳 更新时间:2023-10-29 06:04:56 24 4
gpt4 key购买 nike

如果您知道 Promise 已经被解决,为什么不能直接调用 get() 并接收值呢?与将 then(..) 与回调函数一起使用相反。

所以不要这样做:

promise.then(function(value) {
// do something with value
});

我希望能够做的更简单:

var value = promise.get();

Java 为它的 CompletableFuture 提供了这个我看不出为什么 JavaScript 不能提供相同的功能。

最佳答案

Java 的 get 方法“如有必要,等待此 future 完成”,即它会阻塞当前线程。我们绝对不想在只有一个“线程”的 JavaScript 中这样做。

本来可以将 API 中的方法集成到 determine synchronously promise 是否完成,结果如何,但他们没有完成是件好事。只有一种方法 then 可以在结果可用时获取结果,这让事情变得更容易、更安全、更一致。编写自己的 if-pending-then-this-else-that 逻辑没有任何好处,它只会增加出错的可能性。异步很难。

关于javascript - 为什么 Promise 没有 get() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com