問題タブ [bluebird]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - then と catch で promise をチェーンする
bluebird Promise ライブラリを使用しています。promise をチェーンして、特定の promise エラーをキャッチしたいと思います。これが私がやっていることです:
しかし、 によってエラーがスローされた場合、 2 番目の と同様にgetSession
2 つが呼び出されます。最初の でエラーの伝播を停止したいので、2 番目はスローされたときにのみ呼び出され、2 番目は成功したときに呼び出されます。どうする?catch
then
catch
catch
getUser
then
getUser
javascript - promise のループを記述する正しい方法。
次のプロミス呼び出しとチェーンされたlogger.log(res)が反復を通じて同期的に実行されることを確認するためにループを正しく構築する方法は? (青い鳥)
次の方法を試しました(http://blog.victorquinn.com/javascript-promise-while-loopの方法)
動作しているように見えますが、 logger.log(res);を呼び出す順序が保証されているとは思いません。
助言がありますか?
javascript - Node.js Bluebird Promise が「循環構造を JSON に変換中」と文句を言う
発信 API 呼び出しを行うために、bluebird の promise オブジェクトにラップされた restler を使用しています。しかし、私はで取得してPossibly unhandled TypeError: Converting circular structure to JSON
いnode_modules/bluebird/js/main/promise.js
ます。
これは、JSON.stringify がなくても発生します。promise.js のレベルで起こっています。
これについて何ができますか?
更新:エラーオブジェクトのキーが役立つ場合は、次のとおりです。
node.js - array.forEach で、.push の前に MongoDB/Mongoose .findOne を約束する方法は?
bluebird の readMe の例に目を通しましたが、非同期コードを実装/変換して .then..
ここには多数の ifStatements がありますが、要点は、 をループしているときに、 がデータベース (findOne) に存在するtoArray
場合は、それを変数に割り当てて、新しい ( element
.post & .save) db doc.
結果として .save .. の後に findOne を実行する現在の非同期コードは次のとおりですが、前に実行する必要があります。
javascript - Bluebird.js カスタム エラー キャッチ関数は、最初の約束には適用されませんか?
Bluebird.js のカスタム エラー ハンドラを使用しようとしています。
以下の例では、MyCustomError ハンドラーではなく、catch-all ハンドラーが呼び出されますが、拒否をthen関数に移動した (そして firstPromise を解決した...) と、MyCustomError ハンドラーが呼び出されます。何故ですか?何か間違っていますか?ありがとう。