q-flow

0.2.0 • Public • Published

map

Call fn, which returns a promise, on each item in array, returning new array.

 
var q = require('q');
require('q-flow'); // extends q
 
var fn = function (each) {
    return q.when(each + 1);
};
 
var array = [ 1, 2, 3 ];
 
q.map(array, fn).then(function (array) {
    expect(array).to.deep.equal([ 2, 3, 4 ]);
});

each

Like map except new array is not created.

find

Find first object in array satisfying the condition returned by the promise returned by fn.

var array = [ 1, 2, 3 ];
q.find(array, function (each) {
    return q.fcall(function () {
        return each === 2;
    });
}).then(function (result) {
    expect(result).to.equal(2);
});

until

Loop until the promise returned by fn returns a truthy value.

q.until(function () {
    return q.fcall(function () {
        /* code which eventually returns true */
    });
}).then(function (each) {
    /* finished */
});

addBack

Allow one to place node-styled callback onto promise. This exits the promise run-loop so that it no longer catches exceptions.

promise.addBack(function (err, result) {
    // gets `err` if failure happened, otherwise `result` is populated
});

Readme

Keywords

none

Package Sidebar

Install

npm i q-flow

Weekly Downloads

511

Version

0.2.0

License

BSD

Last publish

Collaborators

  • gyllstromk