blob: 0db1e2cab6c3734d0c896dfb26ca9f97b832a4de [file] [log] [blame]
Tests that evaluation with top-level await may be performed in console.
await Promise.resolve(1)
1
{a:await Promise.resolve(1)}
{a: 1}
$_
{a: 1}
let {a,b} = await Promise.resolve({a: 1, b:2}), f = 5;
undefined
a
1
b
2
let c = await Promise.resolve(2)
undefined
c
2
let d;
undefined
d
undefined
let [i,{abc:{k}}] = [0,{abc:{k:1}}];
undefined
i
0
k
1
var l = await Promise.resolve(2);
undefined
l
2
foo(await koo());
4
$_
4
const m = foo(await koo());
undefined
m
4
const n = foo(await
koo());
undefined
n
4
`status: ${(await Promise.resolve({status:200})).status}`
"status: 200"
for (let i = 0; i < 2; ++i) await i
1
for (let i = 0; i < 2; ++i) { await i }
1
await 0
0
await 0;function foo(){}
0
foo
ƒ foo(){}
class Foo{}; await 1;
1
Foo
class Foo{}
await 0;function* gen(){}
0
for (let j = 0; j < 5; ++j) { await j; }
4
j
VM:1 Uncaught ReferenceError: j is not defined
at <anonymous>:1:1
(anonymous) @ VM:1
gen
ƒ* gen(){}
await 5; return 42;
VM:1 Uncaught SyntaxError: Illegal return statement
let o = await 1, p
undefined
p
undefined
let q = 1, s = await 2
undefined
s
2
await {...{foo: 42}}
{foo: 42}