Never used defer
before but my agent asked me to use defer
with promises.
In mozilla defer page, it says defer
is obsolete and should not be used anymore. But in the same page there is example.
My question is, why to use defer
with promise? Whats it's advantage for code below, only write less code? I should define a new promise instead of that?
export function defer () {
const deferred = {}
deferred.promise = new Promise((resolve, reject) => {
deferred.resolve = resolve
deferred.reject = reject
})
return deferred
}
And the code that is using it:
export async function waitForPredicate (peer, path, predicate, cancelToken) {
const deferredFetcher = defer()
...
let result = predicate(data)
if (result) {
deferredFetcher.resolve(result)
}
})