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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
=== tests/cases/compiler/awaitInNonAsyncFunction.ts ===
// https://github.com/Microsoft/TypeScript/issues/26586
function normalFunc(p: Promise<number>) {
>normalFunc : (p: Promise<number>) => number
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
return await p;
>await p : number
>p : Promise<number>
}
export function exportedFunc(p: Promise<number>) {
>exportedFunc : (p: Promise<number>) => number
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
return await p;
>await p : number
>p : Promise<number>
}
const functionExpression = function(p: Promise<number>) {
>functionExpression : (p: Promise<number>) => void
>function(p: Promise<number>) { for await (const _ of []); await p;} : (p: Promise<number>) => void
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
await p;
>await p : number
>p : Promise<number>
}
const arrowFunc = (p: Promise<number>) => {
>arrowFunc : (p: Promise<number>) => number
>(p: Promise<number>) => { for await (const _ of []); return await p;} : (p: Promise<number>) => number
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
return await p;
>await p : number
>p : Promise<number>
};
function* generatorFunc(p: Promise<number>) {
>generatorFunc : (p: Promise<number>) => Generator<number, void, unknown>
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
yield await p;
>yield await p : any
>await p : number
>p : Promise<number>
}
class clazz {
>clazz : clazz
constructor(p: Promise<number>) {
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
await p;
>await p : number
>p : Promise<number>
}
method(p: Promise<number>) {
>method : (p: Promise<number>) => void
>p : Promise<number>
for await (const _ of []);
>_ : any
>[] : undefined[]
await p;
>await p : number
>p : Promise<number>
}
}
for await (const _ of []);
>_ : any
>[] : undefined[]
await null;
>await null : null
>null : null
|