Resolves promises idly.
npm install q-lazy
It's a simple plugin for Q allowing you to create lazy
promises. Such promises start to resolve only after calling .then()
on them.
var Q = require('q');
require('q-lazy'); // extends Q
function heavyFunc () {
// ...
return ret; // the return value can be a promise or a plain value
}
var promise = Q.lazy(heavyFunc); // doesn't execute heavyFunc
promise.then(function (ret) { // executes heavyFunc
// use ret
});
For specification take a look at provided testsuite. It's short.