27 lines
652 B
JavaScript
27 lines
652 B
JavaScript
description('Test Promise nested microtasks.');
|
|
|
|
var globalObject = this;
|
|
globalObject.jsTestIsAsync = true;
|
|
|
|
var value1;
|
|
var value2;
|
|
var result;
|
|
Promise.resolve(42).then(function (v1) {
|
|
value1 = v1;
|
|
shouldBe('value1', '42');
|
|
shouldBeUndefined('value2');
|
|
shouldBeUndefined('result');
|
|
return Promise.resolve(84).then(function (v2) {
|
|
value2 = v2;
|
|
shouldBe('value2', '84');
|
|
shouldBeUndefined('result');
|
|
return v2 * v1;
|
|
});
|
|
}).then(function (r) {
|
|
result = r;
|
|
shouldBe('result', '3528');
|
|
finishJSTest();
|
|
});
|
|
|
|
debug('The promise is not fulfilled until after this function call executes.');
|