懒惰评估与承诺/期货之间的区别

Ped*_*cía 6 language-agnostic future lazy-evaluation promise

什么是之间的区别promise还是futurelazily evaluated function/object

它们都像延迟计算的占位符一样,我理解它们运行的​​原理是不同的,但实际的区别是什么?

Ben*_*aum 5

承诺和“懒惰评估的对象”都是代理的形式。代理是这里的关键词。代理意味着“实际对象值的占位符”

  • 承诺是一个值的时间限制(时间)代理。一些库,比如 Kris Kowal 的 Q-Connection,甚至可以让你用 promise 代理远程对象,并且有很多关于这个用例的有趣研究(真的!)由 Mark Miller 提出的在敌对条件下的用例。这实际上是 promises(处理网络延迟)的最初动机。

  • 惰性求值对象是一个值的代理,可以将求值推迟到您必须执行的程度。