C++中的future对应于javascript中的promise吗?

mac*_*phy 5 javascript c++ functional-programming

我是一名 C++ 程序员,最近尝试学习std::future和。std::promise当我随机搜索一些关于future/promise的信息时,我发现了一些关于javascript中的future/promise的讨论then以及javascript中的promise有功能。在c++中,虽然现在std::future还没有then这个函数,但是一些提案已经提到了它。那么,有两个问题:

  1. std::futureC++中的promise对应于javascript中的promise吗?
  2. 如果 1 为真,为什么他们混淆 future 和 Promise?

Qui*_*mby 4

  1. 是的。
  2. std::future<T>代表 的未来结果T,即该对象将在未来的某个时刻持有 a Tstd::promise<T>是一个有望在未来某个时刻提供a 的对象。T

哪种语言获得了命名权是有争议的。

  • “*哪种语言获得命名权是有争议的。*”两者都不是。没有一件事叫做“未来”或“承诺”。它更像是一类东西——异步结果。不同的地方使用这些词的方式不同——有时可以互换,有时它们定义不同的含义。一个地方的承诺不一定对应于另一个地方的承诺。与期货相同。与期货承诺相同。 (4认同)