pipeline-operatorがどうなってるのか気になり、そのままtc39のproposalsを見ていた。pipeline-operatorは2018に提案されてまだstage1だからもう仕様に入るのはもう少し先の話だと思う。
loading
新しく採択されたのを眺める。Promise.anyももう入ってくるらしい。
loading
どういうシーンで使えるのかちょっと調べる
loading
Promise.allSettled、かなり使いどころがありそう。
allSettled は、 all とは違い、個々が Resolve/Reject どちらになっても、最後までとにかく全て実行する。実行した結果を配列として Resolve するため、基本的に allSettled 自体は Reject しない。
したがって、 status: 'rejected'
な結果だけをリトライすれば良い。完了したものを無駄にせず、効率よく簡単に実装することができるだろう。
Promise.anyはどうやって使うのかいまいちわからなかった。でもまぁ使われていくうちに誰かがかっちょいい利用シーンを見つけてくれると思う。
any は rece とは違い、 Resolve する前に Reject する Promise があっても無視し、最初にいずれかが Resolve するまで待つ。そして、全ての Promise が Reject した場合にのみ全体を Reject する。
従って、「最初に Resolve する Promise を待ちたい」という要件を満たす場合は、 any を使えばそれだけで良い。