Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80665 views
1
"use strict";
2
3
var Q = require("../q");
4
5
suite("Chaining", function () {
6
var numberToChain = 1000;
7
8
bench("Chaining many already-fulfilled promises together", function (done) {
9
var currentPromise = Q();
10
for (var i = 0; i < numberToChain; ++i) {
11
currentPromise = currentPromise.then(function () {
12
return Q();
13
});
14
}
15
16
currentPromise.then(done);
17
});
18
19
bench("Chaining and then fulfilling the end of the chain", function (done) {
20
var deferred = Q.defer();
21
22
var currentPromise = deferred.promise;
23
for (var i = 0; i < numberToChain; ++i) {
24
(function () {
25
var promiseToReturn = currentPromise;
26
currentPromise = Q().then(function () {
27
return promiseToReturn;
28
});
29
}());
30
}
31
32
currentPromise.then(done);
33
34
deferred.resolve();
35
});
36
});
37
38