問題タブ [es6-promise]

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.

0 投票する
1 に答える
3282 参照

node.js - node.js でネイティブの promise を使用して例外をグローバルに処理するにはどうすればよいですか?

promise で特定のエラーを処理する方法は知っていますが、次のようなコードが時々あります。

ときどき、ここでJSON.parse throws. .catch一般に、コード内のすべてのプロミスにハンドラーを追加することを忘れないでください。そうしないと、忘れた場所を見つける方法がありません。

コード内でこれらの抑制されたエラーを見つけるにはどうすればよいですか?

0 投票する
0 に答える
125 参照

javascript - クライアント側で ECMA Script 6 promises のサポートを追加するにはどうすればよいですか?

クライアント側の Web アプリケーションで ECMA スクリプト 6 の約束をサポートする必要があります。私はSpotify Web APIを使用しています。これは次のようになります

下位互換性のためにこれらをコールバックに変換できることはわかっていますが、それは非常に手間がかかり、コードがきれいに見えません。

0 投票する
4 に答える
853 参照

callback - エキゾチックな制御フローの ES6 Promise パターン

ES6 Promise は素晴らしいです。これまでのところ、コールバックのイディオムから私の考え方を調整するのは非常に簡単でした。自然にモジュール化されたコードが促進され、もちろんエラー処理がはるかに明確になることがわかりました。

しかし、ノードバックから Promise に簡単に変換できるとは思えない (?) フロー状況に遭遇したことが数回あります (おそらくそれだけで、私は答えを知らないだけかもしれません)。Promise は次の操作 (またはそれがあったとしても) にとらわれないため、コールバックを受け取るだけでなくそれらを返すAPI で Promise を使用するのはかなり難しいようです。

頭に浮かぶ最も一般的な例は、「完了」コールバックです。「プールへの接続を返す」ことを示すためにデータベース接続などに表示されますが、他の多くの場所でもポップアップするのを見てきました。

このようなフロー反転は、API に最初から含めたいものではないことは明らかですが、実際には避けられない場合があります。コールバックを使用すると、「call later」内部コールバックを元の「outer」コールバックに渡すことができます。懸念事項を完全に分離するわけではありませんが、少なくとも迅速かつ簡単です。

このような状況に適した Promise ベースのアプローチはありますか? 「ここに解決値がありますが、チェーンが完了したら、これも実行してください」という言い方ですか? チェーンが「完了」したと言うのは実際には不可能であるため、今説明したものと完全に一致するものはないと思いますが、混乱することなくそれに近づくパターンが欠けている可能性があります...


編集: これまでのフィードバックに基づいて、そのような API を真の promise でラップする方法はまったくないことに気付きました。返される promise は、それに便乗する後続のチェーンされた promise について何も伝えることができないためです。しかし、あなたはそれを偽造することができます。ねじれは、結果がかなりもろいということです。then接続オブジェクトを必要とするのは、直後のものだけであると想定する必要があります。promise の消費者は、それが 1 回限りの接続であることを理解する必要があります。したがって、実際にはあまりお勧めしませんが、好奇心のためにdone、プロミス チェーンとして動作する (そして最終的にはプロミス チェーンになる)を非表示にするソリューションをここに示します。

コンソール プリント:

  • 接続を受信しました。
  • 接続完了!
  • 完了が呼び出されました。
  • これは、接続が閉じた後である必要があります。
0 投票する
3 に答える
716 参照

node.js - NodeJs、coから外部オブジェクトにデータを返す方法

助けが必要!フォーム co の外でデータを取得するにはどうすればよいですか? それらを .then() で処理したくありません。

次のようなコードがあります(ES6):

今は .then() でデータを処理したくありません。値を取得したいだけです。しかし、私がこれを行うと:

私が得るのはpromiseオブジェクトです...

では、json データをどのように取得すればよいでしょうか。ありがとう。

0 投票する
7 に答える
60482 参照

javascript - javascriptで二重括弧は何を意味し、それらにアクセスする方法

状況

Promiseを使用する次の関数があります。

の内容definitionsは次のとおりです。

PromiseValueプロパティに直接アクセスするとundefinedが返されます

質問

二重括弧の[[ ]]意味と の値を取得するにはどうすればよいですか[[PromiseValue]]