aboutsummaryrefslogtreecommitdiff
path: root/test/js/async_stages.t.js
blob: 164c1e454f628e6df488ec8259f72d05f529563b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*---
includes: [compareArray.js]
flags: [async]
---*/

function pr(x) {
    return new Promise(resolve => {resolve(x)})
    .then(v => v).then(v => v);
}

let stage = [];

async function f() {
    let sum = 0;

    stage.push(2);

    const a1 = await pr(10);

    stage.push(4);

    const a2 = await pr(20);

    stage.push(5);

    return a1 + a2;
}

stage.push(1);

f().then(v => {
    stage.push(v);
    assert.compareArray(stage, [1, 2, 3, 4, 5, 30]);
}).then($DONE, $DONE);

stage.push(3);