JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.js"></script>
JavaScript
const { memoize } = _
const promise = memoize((url) => {
return new Promise(resolve => {
console.log(url)
return resolve(url)
})
})
// they will be called only once!
promise('bar')
promise('bar')
promise('bar')
// call the promise again
promise('faz')