Skip to content
Snippets Groups Projects
S25.4.4.1_A8.1_T1.js 851 B
Newer Older
// Copyright 2014 Cubane Canada, Inc.  All rights reserved.
// See LICENSE for details.

/*---
author: Sam Mikes
description: Promise.all([p1, p2]) resolution functions are called in predictable sequence
includes: [PromiseHelper.js]
---*/

var sequence = [];

var p1 = new Promise(function (resolve) { resolve(1); } );
var p2 = new Promise(function (resolve) { resolve(2); } );

sequence.push(1);

p1.then(function () {
    sequence.push(3);
    checkSequence(sequence, "Expected to be called first.");
}).catch($DONE);

Promise.all([p1, p2]).then(function () {
    sequence.push(5);
    checkSequence(sequence, "Expected to be called third.");
}).then($DONE, $DONE);

p2.then(function () {
    sequence.push(4);
    checkSequence(sequence, "Expected to be called second.");
}).catch($DONE);

sequence.push(2);