Callback-based promises versus Q-based promises
Say you have to interlink with callback-based instead of promise-based, what would be your options? The answer is Q provides Q.nfcall()
and friends();
, but most of the time, we have to rely on deferred
:
var deferred = Q.defer(); FS.readFile("hoo.txt", "utf-8", function (error, text) { if (error) { deferred.reject(new Error(error)); } else { deferred.resolve(text); } }); return deferred.promise;
Normally, we can achieve it like this:
//normal way of handling rejected promises. deferred.reject(new Error("Can't do it")); //this is how we do it var rejection = Q.fcall(function () { throw new Error("Can't do it"); }); deferred.resolve(rejection);
A few words on delay, timeout, and notify
There are situations ...
Get Mastering JavaScript Promises now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.