function sleep(ms: number): Promise<undefined> {
return new Promise(resolve => setTimeout(() => resolve(undefined), ms))
}
async function myAll<T extends unknown[] | []>(values: T): Promise<any> {
var arr = [];
for (var i = 0; i < values.length; i++) {
arr.push(await values[i]);
}
return arr;
}
async function request(value: string) {
await sleep(1000);
return value;
}
async function main() {
console.log('start');
const res = await myAll([
request('a'),
request('b'),
request('c'),
])
console.log(res);
}
main()