mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-01-23 23:28:49 +08:00
c23ba31e17
Thread dropdown Small fixes
36 lines
950 B
JavaScript
36 lines
950 B
JavaScript
"use strict";
|
|
|
|
var Q = require("../q");
|
|
|
|
suite("Chaining", function () {
|
|
var numberToChain = 1000;
|
|
|
|
bench("Chaining many already-fulfilled promises together", function (done) {
|
|
var currentPromise = Q();
|
|
for (var i = 0; i < numberToChain; ++i) {
|
|
currentPromise = currentPromise.then(function () {
|
|
return Q();
|
|
});
|
|
}
|
|
|
|
currentPromise.then(done);
|
|
});
|
|
|
|
bench("Chaining and then fulfilling the end of the chain", function (done) {
|
|
var deferred = Q.defer();
|
|
|
|
var currentPromise = deferred.promise;
|
|
for (var i = 0; i < numberToChain; ++i) {
|
|
(function () {
|
|
var promiseToReturn = currentPromise;
|
|
currentPromise = Q().then(function () {
|
|
return promiseToReturn;
|
|
});
|
|
}());
|
|
}
|
|
|
|
currentPromise.then(done);
|
|
|
|
deferred.resolve();
|
|
});
|
|
});
|