Uses: https://github.com/stefanpenner/promise_benchmarks
These tests stress Promise.all
for arrays of non-promise objects, and arrays of promises.
Uses: https://github.com/stefanpenner/promise_benchmarks
These tests stress Promise.all
for arrays of non-promise objects, and arrays of promises.
require('../monitor/console'); | |
var Promise = require('../../when').Promise; | |
Promise.resolve().then(function outer() { | |
return Promise.resolve().then(function inner() { | |
return Promise.resolve().then(function evenMoreInner() { | |
oops(); | |
}); | |
}); | |
}); |
// Should log: | |
// 3 | |
// Bob | |
// b | |
var when = require('when'); | |
when.resolve(1).fold(sum, 2).done(console.log); | |
when.resolve({ name: 'Bob' }).fold(get, 'name').done(console.log); |
require('../../monitor/console'); | |
var Promise = require('../../when').Promise; | |
function error(){ | |
throw new Error('error'); | |
} | |
Promise.resolve('foo').then(function(){ | |
return Promise.resolve(123); | |
}).then(function(){ |
require('when/monitor/console'); | |
var when = require('when'); | |
// Creates a cycle p1 -> p2 -> p3 -> p4 -> p1 | |
var p1 = when.promise(function(r1) { | |
var p2 = when.promise(function(r2) { | |
var p3 = when.promise(function(r3) { | |
var p4 = when.promise(function(r4) { | |
setTimeout(function() { | |
r4(p1); // Cycle! resolve p4 with p1 |
// Before fold-related changes
Handler.prototype.when(resolve, notify, context, receiver, onFulfill, onReject, onProgress);
Params:
thisArg
that will be used when calling resolve and/or notifythisArg
that will be used when calling onFulfill, onReject, or onProgress// Lift only the RedisClient prototype command methods | |
// to a new prototype so you can create many instances | |
var node = require('when/node'); | |
var net = require('net'); | |
var RedisClient = require('redis').RedisClient; | |
var host = '127.0.0.1'; | |
var port = 6379; | |
var commands = require('redis/lib/commands'); | |
function liftCommands(proto, f, n) { |
{ | |
// Create a base instance | |
base: { | |
create: { | |
module: 'controls/switch/switchControl', | |
args: { | |
name: 'switcher' | |
} | |
}, | |
properties: { |
var when = require('when'); | |
var d1 = when.defer(); | |
var d2 = when.defer(); | |
var d3 = when.defer(); | |
d1.resolve(d2.promise); | |
d2.resolve(d3.promise); | |
d3.resolve(d1.promise); |
var deferred = {}; | |
var keys = require('when/keys'); | |
if (data.picture) { | |
deferred.picture = webservices.image(data['picture']); | |
} | |
if (data.screen) { | |
deferred.screen = webservices.image(data['screen']); | |
} |