Memoization of promise-based function

前端 未结 5 683
Happy的楠姐
Happy的楠姐 2020-12-04 02:01

How can I memoize a promise-based function?

Would straightforward memoization of the function suffice?

function foo() {
    return new Promise((reso         


        
5条回答
  •  清歌不尽
    2020-12-04 02:26

    Note that your function has the deferred anti pattern and can be simplified further:

    foo.value = null;
    function foo(){
        if(foo.value) return foo.value;
        return (foo.value = doSomethingAsync());
    }
    

    That is, memoization is so simple in this case you don't even have to call .memoize. Also your original function suppressed errors.

提交回复
热议问题