javascript – 基于承诺的函数的记忆

前端之家收集整理的这篇文章主要介绍了javascript – 基于承诺的函数的记忆前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何记忆基于承诺的功能

直截了当的功能记忆就够了吗?

function foo() {
    return new Promise((resolve,reject) => {
      doSomethingAsync({ success: resolve,fail: reject });
    });
};

这样就够了吗?

var fooMemoized = memoize(foo);

注意:此问题已更新,以删除延迟反模式.

解决方法

是的,这就足够了. Promise是简单的返回值,这是它们的巨大好处 – 与回调相比,memoisation代码会很糟糕.

如果您的诺言库确实支持某种取消,您可能只想确保备忘的承诺是无法撤销的.另请注意,这种形式的记忆也会记住拒绝,因此您无法通过“再次尝试”来从错误中恢复.

猜你在找的JavaScript相关文章