問題タブ [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 に答える
3562 参照

jquery - es6-promise.js ポリフィル (html5rocks、MDN で言及) が機能しない

promises を使用した JS コードがあります。ES6 ではサポートされているブラウザーが約束されているため、正常に動作します。

MDN で述べたように、chrome32、firefox26、IE のすべてのバージョンよりも古いバージョンでは、promise はサポートされていません

ここで言及されているポリフィル(MDN、HTML5Rocksによって推奨)を適用しましたhttps://github.com/jakearchibald/es6-promise

ポリフィル ファイル: " http://es6-promises.s3.amazonaws.com/es6-promise-2.0.0.min.js "

コンパイラがブレークポイントに到達したため、ポリフィル スクリプトが実行されていることがわかります

Promise not definedしかし、使用するとエラーが発生します

これが私のウェブページの完全なhtmlコードです。これは簡単な例です。古いブラウザの browserstack でテストできます。

どこでもポリフィルが提案されているので、間違いは私の側にあると確信しています。

コードライブ: http://sagiavinash.com/learn/es6promise/2/

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

javascript - ネストされた AJAX 呼び出しを含む JavaScript Promise の連鎖

既存のコードの一部を JavaScript Promises に置き換えようとしていますが、間違っていないことを確認したいだけです (または、もっと良い方法があるかもしれません)。es6-promiseライブラリを使用しています。

私が持っているのは、JavaScript Promises を使用するように更新した 3 つの関数です (以前はネストされたコールバックのような混乱でした)。関数には実際にはデュアル モードがあるはずです。つまり、通常の関数のように使用して結果を返すようにしたり、それらを連鎖させたりすることができます。

これifは、データが localStorage/sessionStorage にキャッシュされているかどうかを確認することです。キャッシュされている場合、関数は単に結果を返します。ただし、値がキャッシュされているかどうかわからない状況 (たとえば、スクリプトの最初の実行) では、値を連鎖させてから、後続の各関数で前の結果を localStorage/sessionStorage に永続化する予定です (したがって、promise連鎖最後の行に)。最後thenに、 からのデータを永続化する機会が与えられますfunc_3

私が実行したテストに基づいて、すべてが正常に機能しているように見えますが、これがこれを行うための最良の方法であるかどうか疑問に思っていましたか? また、リストされている 3 つの関数の 1 つ以上で発生する可能性のある AJAX エラーをどのように処理すればよいでしょうか?

: 私のAjaxRequest関数も同じ Promise メカニズムを使用し、成功時に完全な XHR を「解決」し、失敗/エラー時に同じ完全な XHR を「拒否」します。

編集

@Bergi からのヒントの後、コードを次のように更新しました (同様に機能します)。

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

node.js - promise 内で発生した場合に例外が表示されない

Promises に大きく依存するノード モジュールを開発しています。何らかの理由で、Promise コード内で例外を発生させる必要がある場合 (たとえば、「未定義は関数ではありません」)、コンソールに例外メッセージが表示されません。Promise チェーンはフィードバックなしで停止しているように見え、私にできることはすべてあります。何が原因だと思います。ノードにすべての例外を表示させるにはどうすればよいですか?

0 投票する
2 に答える
254 参照

javascript - ネイティブ JavaScript Promise を使用して非同期操作をチェーンする

私は 2 つの非同期操作を実行し、次に finalonResultonFaultdefined を実行しました。getConnection次の 2 つの非同期操作を連鎖させてselectから、最後にまたはを呼び出すにはどうすればよいですonResultonFault

編集は、次のシーケンスを約束するのに助けが必要です。

0 投票する
9 に答える
133959 参照

javascript - ネイティブ ES6 Promises で Typescript を使用する方法

私は Typescript の完全な初心者であり、Typescript で ES6 promise を使用できるかどうか、およびそれらを機能させるために何をしなければならないか疑問に思っています。ノード 0.11.14 を実行していますが、コンパイル中に「'Promise' という名前が見つかりません」というエラーが発生します。

0 投票する
3 に答える
13736 参照

javascript - Promise.resolve().then vs setImmediate vs nextTick

NodeJS 0.11 と io.js および Node 0.12 ブランチはすべて、ネイティブの promise と共に出荷されます。

ネイティブの promise には、将来のイベント ループ サイクルで常に実行されるメソッド.thenがあります。

これまでのところ、 nextTick から切り替えてsetImmediate以来、イベント ループの次の繰り返しにキューイングするために使用してきました。

これを行うための新しい方法ができたので:

どちらを使用する必要がありますか? また、イベント ループの前または後に実行されるコードに関して、同様Promise.resolve.then動作しますか?setImmediatenextTick

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

javascript - ES6 ジェネレーターとページネーションの適切な使用

私はこれについて少し考えてきましたが、これを達成する方法について合理的な解決策を思い付くことができないようです. 問題のステートメントは単純です。リモート データ セットを遅延してページ分割するジェネレータを作成します。物事を単純化するために、これは理想的には私のライブラリのユーザーに見てもらいたいものです:

ジェネレーターを機能させることができないようです。このようなロジックが機能すると思っていましたが、実装方法がわかりません。

私はここで何か間違ったことを考えていると確信していますが、このようなジェネレーターを使用している人の例を見つけることができないようです (ほとんどの人は静的データでそれらを使用しているか、async(function*(){...})正確ではないようなことをしている人です)しようと思っています)。ここで重要なのは、エンド ユーザーが上記のようにデータを消費できるようにすることです。

-ヴィンス