タグ

promiseとjavascriptに関するigrepのブックマーク (3)

  • Promise.allSettled と Promise.any | blog.jxck.io

    Intro Promise.allSettled() と Promise.any() の仕様策定が進んでいる。 両者は近いレイヤの仕様では有るが、作業の進捗には差がある。 Promise.allSettled は Stage 4 であり、 Chrome や Safari TP には実装もされている Promise.any は Stage 2 であり、実装はまだない ここでは、これらがあると何が嬉しいのかを Promise.all(), Promise.race() の特徴を踏まえて解説する。 Promise.all()/race() Promise.all(), Promise.race() は、いずれも複数の Promise をまとめて処理する Utility Method のようなものである。 all は全ての Promise が Resolve したら Resolve し、 race

    Promise.allSettled と Promise.any | blog.jxck.io
  • Promise でリトライや同時実行数の制御をするやつ作った - ジンジャー研究室

    JavaScript でバッチ実行を少しでも楽にしたいという思いで作ってみた。 www.npmjs.com github.com まだバージョン 0.7.0 だけど、大体のことは出来るはず。 機能 デモ を触ると大体何ができるかわかると思います。 実行間隔の指定 同時実行数の制限 リトライ数の指定 リトライ間隔の調整 失敗したリクエストの返却 動機 DynamoDB への書き込み時に流量を制御しようと色々していて、 Promise が不便だと思った。SDK でもなんか色々パラメータがあると後から知ったのだけど、まぁ Promise が便利になるのに越したことはないということで。もちろん既存のライブラリも沢山探したけど、しっくりくるのが無かった => 作ろう。 API に関しては、シリアライズ可能なデータとしてのリクエストの配列を受け取るようにして、失敗した時に情報を保存したり渡したりできる

    Promise でリトライや同時実行数の制御をするやつ作った - ジンジャー研究室
  • Promise.prototype.finally | blog.jxck.io

    Intro Promise.prototype.finally の仕様が TC39 stage 3 となり、 Safari TP37 で先行実装が入った。 tc39/proposal-promise-finally common task in async task よくあるユースケースとして、 fetch() 中にスピナーを表示し、終わったら消すという場合。 スピナーは、 fetch() が成功(resolve) しようと失敗(reject)しようと消したいため、これまでの Promise では両方のハンドラに処理が必要だった。 showSpinner() fetch() .then((response) => { hideSpinner() console.log(response) }) .catch((error) => { hideSpinner() console.log(er

    Promise.prototype.finally | blog.jxck.io
  • 1