File: async_stages.t.js

package info (click to toggle)
libnginx-mod-js 0.8.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,808 kB
  • sloc: ansic: 114,096; perl: 8,447; javascript: 2,520; exp: 487; sh: 322; xml: 312; python: 181; makefile: 18
file content (36 lines) | stat: -rw-r--r-- 498 bytes parent folder | download | duplicates (2)
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);