Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I like doing stuff like

  function ensureFoo() {
    let promise = Promise.resolve();
    
    if (!foo) {
      promise = getFoo();
    }
    
    return promise;
  }


Shoudn't you store the initial fooPromise and use it instead?

    var ensureFooEquivalent = getFoo();


Sometimes the data you want is already available - no need to make an extra request in those cases.


Didn't you mean to `Promise.resolve(foo)`? It's also generally safer to cache promises and not values to avoid race conditions (multiple requests).


Check lodash's memoize method


Or don't, as it requires adding an extra library.


Lodash provides separate packages: https://www.npmjs.com/package/lodash.memoize




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: