問題タブ [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.
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 でテストできます。
どこでもポリフィルが提案されているので、間違いは私の側にあると確信しています。
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 からのヒントの後、コードを次のように更新しました (同様に機能します)。
node.js - promise 内で発生した場合に例外が表示されない
Promises に大きく依存するノード モジュールを開発しています。何らかの理由で、Promise コード内で例外を発生させる必要がある場合 (たとえば、「未定義は関数ではありません」)、コンソールに例外メッセージが表示されません。Promise チェーンはフィードバックなしで停止しているように見え、私にできることはすべてあります。何が原因だと思います。ノードにすべての例外を表示させるにはどうすればよいですか?
javascript - ネイティブ JavaScript Promise を使用して非同期操作をチェーンする
私は 2 つの非同期操作を実行し、次に finalonResult
とonFault
defined を実行しました。getConnection
次の 2 つの非同期操作を連鎖させてselect
から、最後にまたはを呼び出すにはどうすればよいですonResult
かonFault
編集は、次のシーケンスを約束するのに助けが必要です。
javascript - ネイティブ ES6 Promises で Typescript を使用する方法
私は Typescript の完全な初心者であり、Typescript で ES6 promise を使用できるかどうか、およびそれらを機能させるために何をしなければならないか疑問に思っています。ノード 0.11.14 を実行していますが、コンパイル中に「'Promise' という名前が見つかりません」というエラーが発生します。
javascript - Promise.resolve().then vs setImmediate vs nextTick
NodeJS 0.11 と io.js および Node 0.12 ブランチはすべて、ネイティブの promise と共に出荷されます。
ネイティブの promise には、将来のイベント ループ サイクルで常に実行されるメソッド.then
があります。
これまでのところ、 nextTick から切り替えてsetImmediate
以来、イベント ループの次の繰り返しにキューイングするために使用してきました。
これを行うための新しい方法ができたので:
どちらを使用する必要がありますか? また、イベント ループの前または後に実行されるコードに関して、同様にPromise.resolve.then
動作しますか?setImmediate
nextTick
javascript - ES6 ジェネレーターとページネーションの適切な使用
私はこれについて少し考えてきましたが、これを達成する方法について合理的な解決策を思い付くことができないようです. 問題のステートメントは単純です。リモート データ セットを遅延してページ分割するジェネレータを作成します。物事を単純化するために、これは理想的には私のライブラリのユーザーに見てもらいたいものです:
ジェネレーターを機能させることができないようです。このようなロジックが機能すると思っていましたが、実装方法がわかりません。
私はここで何か間違ったことを考えていると確信していますが、このようなジェネレーターを使用している人の例を見つけることができないようです (ほとんどの人は静的データでそれらを使用しているか、async(function*(){...})
正確ではないようなことをしている人です)しようと思っています)。ここで重要なのは、エンド ユーザーが上記のようにデータを消費できるようにすることです。
-ヴィンス