問題タブ [when-js]

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 投票する
4 に答える
3808 参照

javascript - このjsFiddleからpromiseに遅延を動的に追加するにはどうすればよいですか?

この jsFiddleに関して、イベントがトリガーされたときに作成される「遅延」を動的に追加しようとしているため、後で追加されたものを含め、すべての遅延が解決されたときにのみ完了コールバックが呼び出されます。

関連コード:

更新: Q または jQuery を使用した提案を歓迎します。動作するものを探しています

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

jquery - 複数のjsonpリクエストでjQuery.when()を使用するには?

別のメソッドを実行する前に完了する必要がある 2 つのクロス ドメイン jsonp リクエストがあります。だから私は $.when() 関数を試しました

getX() と getY() は、別々の jsonp コールバックを使用して、2 つの異なるドメインに対して $.ajax() リクエストを作成します。

私の最初の考えに反して、コールバックが戻る前に createXY() が呼び出されます。したがって、createXY() には必要なデータがありません。

複数の非同期jsonpリクエストが完了したときに関数を呼び出す例を教えてください。

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

node.js - when.js を使用して、promise を Node.js スタイルのコールバックに変換するにはどうすればよいですか?

私はIcedCoffeeScriptを使用しています。

私はこれを書きたい:

User.find(id).always esc doneまたawait User.find(id).always defer e, user

しかし、Promise#alwaysでは推奨されていませんwhen.js

別の方法はありますか?

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

javascript - ノード非同期コードを promise に変換する

私はプロミス、つまりwhen.jsを試していて、いくつかのテストコードを変換したいのですが、ドキュメントを読んだ後でもそれを行う方法が少し不明です。これまでの私の実験は、標準的なコールバック ピラミッドよりもはるかに複雑だったので、近道が欠けていると思います。

複製したいサンプルコードは次のとおりです。

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

javascript - when.all() 2.2.1 の cujojs は、遅延が拒否された場合に拒否しません

ドキュメンテーションに拒否する必要があると書かれているのに、なぜ約束が果たされているのかを理解するのに苦労しています。

http://jsbin.com/orifok/5/editを開き、[go] ボタンをクリックすると、「失敗」と警告するはずのときに「OK」と警告されます。

と置き換えるwhen221.all...deferred2.promise.then(stepFulfilled, stepRejected);拒否が発生します。

require.js ライブラリへの依存を必要とするのではなく、when.js コードを変更して when221 変数をグローバルにしました (元のhttps://github.comと比較したhttp://pastebin.com/J8wCqjWMを参照)。 /cujojs/when/blob/2.2.1/when.js )。

when.all() ドキュメントには次のように書かれています: 約束のいずれかが拒否された場合、返された約束は拒否された最初の約束の拒否理由で拒否されます - https://github.com/cujojs/when/blob/masterを参照してください/docs/api.md#whenall

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

javascript - Q.jsの「done()」に相当するwhen.jsは何ですか?

に加えてthen()、Q.js にはdone(). done()通常、次のように promise チェーンの最後で呼び出されます。

これにより、前の で処理されなかったすべての拒否がキャッチされ、のコールバックthen()で発生したすべての例外が処理されます。then()

when.jsに似たようなものはありますか? コールバックで発生した例外をどのように処理しますか? 拒否ハンドラを登録しない場合はどうなるでしょうか?

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

javascript - promise のクリーンアップ (フラット化とエラー処理)

ライブラリを使用しており、次のwhenようなコードがあります。

コードはかなり読みやすいですが、ロジックは次のとおりです。

  1. インシデントIDが有効であることを確認してください
  2. 画像テーブルを取得する
  3. イメージを S3 にアップロードする

この 3 つが同時に発生する可能性があります。ステップ1と2はどちらも同じ「database.then」を共有しているので、それを使いたいのですが、プロミスをフラット化する方法がわかりません。

何か問題がある場合 (incidentId が無効であることを含む)、私は電話する必要がありますelib.deleteFromS3('image_uploads/' + id);

それがすべて成功した場合は、データベースに新しいエントリを追加して「コミット」する準備ができています。 images.insert({ _id: id, size: pic.size })

それが機能する場合は、完了です。そうでない場合は、S3 から再度削除する必要があります。

エラー処理と「database.then」の再利用を満たしながら、これを読みやすく保つための助けをいただければ幸いです。

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

javascript - whenjs を requirejs で使用する

whenjs で requirejs を使用できません。サイトの実行時にファイルが見つからないという 404 エラーが発生します。whenjs READMEの指示に従っています。

まず、git submodule add https://github.com/cujojs/whenプロジェクトのルート ディレクトリで実行します。

次に、「パッケージを使用してローダーを構成する」を行いますapp/public/js/main.js

これにより、次のディレクトリ レイアウトが残ります。

myhelper.jswhenjs を必要とするファイル ( ) には次のものがあります。

これによりエラーが発生します

GET http://localhost:4580/js/when/when.js 404 (Not Found)

jsファイルをからproject-root/whenにコピーしようとしましたapp/public/js/libs/when

次のコードを使用します。

同じエラーが発生します:

GET http://localhost:4580/js/when/when.js 404 (Not Found)

何が入っていても宣言myhelper.jsを無視してpackagesいるようです - 他に何かすべきことがあるかどうかわかりませんか? whenjs の指示は to とは言いません。

私はこれを試しました:

これは生成されず、エラーになります - 私はまだライブラリを使用しようとはしていませんが...</p>

Requirejs のバージョンは v2.1.8 で、パッケージに関する API の説明を読んだことがありますが、私はそれほど賢くはありません。whenjs 命令がここで機能しないということは何ですか? pathspackagesオプションを組み合わせるなど、他の設定の組み合わせも試しましたが、役に立ちませんでした。

これは Node または JavaScript のみのプロジェクトではないため、ディレクトリの大幅な移動はオプションではありません。

どんな助けでも大歓迎です。

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

javascript - この怠惰な割り当てをajax経由でpromiseに変換するにはどうすればよいですか?

キャッシングに関するこの質問と条件付きの約束に関するこの質問ましたが、正直なところ、約束を使用したことがないので、まだ少し混乱しています。

when.js v2.5.1と jQuery v2.0.3を使用しています。次のコードを promise に変換しようとしています (coffeescript の方がはるかに明確なので、そのまま使用しますが、javascript で自由に応答してください)。

次のように呼び出されます。

だから、約束を返したいのはわかっています。jQuery の xhr が遅延可能であり、Promise API を実装していることはわかっています。

返されるものは何でもそれをthen呼び出すことができるからです…?

どんな助けでも大歓迎です。