Promise.all()
Promise.all(<iterable of Promise instances>)
普通の関数やリテラルが混ざっていても良い
入れるPromiseインスタンスには2引数の関数を渡す:const job1 = new Promise((resolve, reject) => {...})
関数の返り値はreturn xではなくresolve(x)(成功時)またはreject(x)(失敗時)で返す
returnではPromise.allが終わらない
関数に別の引数を加えたい場合はconst job2 = ((a) => new Promise((res, rej) => {...}))みたいな感じ
そしてPromise.all([job1, job2(10), 42])
返り値
全てresolveした場合、各要素のresolveされた値がiterableと同じ順に並んだ配列
rejectした場合、rejectされた値だけが返る?
mapと使うのが一般的?
Promise.all(args.map((a) => <async function>(a))みたいな