問題タブ [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.
javascript - このjsFiddleからpromiseに遅延を動的に追加するにはどうすればよいですか?
この jsFiddleに関して、イベントがトリガーされたときに作成される「遅延」を動的に追加しようとしているため、後で追加されたものを含め、すべての遅延が解決されたときにのみ完了コールバックが呼び出されます。
関連コード:
更新: Q または jQuery を使用した提案を歓迎します。動作するものを探しています
jquery - 複数のjsonpリクエストでjQuery.when()を使用するには?
別のメソッドを実行する前に完了する必要がある 2 つのクロス ドメイン jsonp リクエストがあります。だから私は $.when() 関数を試しました
getX() と getY() は、別々の jsonp コールバックを使用して、2 つの異なるドメインに対して $.ajax() リクエストを作成します。
私の最初の考えに反して、コールバックが戻る前に createXY() が呼び出されます。したがって、createXY() には必要なデータがありません。
複数の非同期jsonpリクエストが完了したときに関数を呼び出す例を教えてください。
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
。
別の方法はありますか?
javascript - ノード非同期コードを promise に変換する
私はプロミス、つまりwhen.jsを試していて、いくつかのテストコードを変換したいのですが、ドキュメントを読んだ後でもそれを行う方法が少し不明です。これまでの私の実験は、標準的なコールバック ピラミッドよりもはるかに複雑だったので、近道が欠けていると思います。
複製したいサンプルコードは次のとおりです。
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
javascript - promise のクリーンアップ (フラット化とエラー処理)
ライブラリを使用しており、次のwhen
ようなコードがあります。
コードはかなり読みやすいですが、ロジックは次のとおりです。
- インシデントIDが有効であることを確認してください
- 画像テーブルを取得する
- イメージを S3 にアップロードする
この 3 つが同時に発生する可能性があります。ステップ1と2はどちらも同じ「database.then」を共有しているので、それを使いたいのですが、プロミスをフラット化する方法がわかりません。
何か問題がある場合 (incidentId が無効であることを含む)、私は電話する必要がありますelib.deleteFromS3('image_uploads/' + id);
それがすべて成功した場合は、データベースに新しいエントリを追加して「コミット」する準備ができています。
images.insert({ _id: id, size: pic.size })
それが機能する場合は、完了です。そうでない場合は、S3 から再度削除する必要があります。
エラー処理と「database.then」の再利用を満たしながら、これを読みやすく保つための助けをいただければ幸いです。
javascript - whenjs を requirejs で使用する
whenjs で requirejs を使用できません。サイトの実行時にファイルが見つからないという 404 エラーが発生します。whenjs READMEの指示に従っています。
まず、git submodule add https://github.com/cujojs/when
プロジェクトのルート ディレクトリで実行します。
次に、「パッケージを使用してローダーを構成する」を行いますapp/public/js/main.js
:
これにより、次のディレクトリ レイアウトが残ります。
myhelper.js
whenjs を必要とするファイル ( ) には次のものがあります。
これによりエラーが発生します
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 命令がここで機能しないということは何ですか? paths
とpackages
オプションを組み合わせるなど、他の設定の組み合わせも試しましたが、役に立ちませんでした。
これは Node または JavaScript のみのプロジェクトではないため、ディレクトリの大幅な移動はオプションではありません。
どんな助けでも大歓迎です。
javascript - この怠惰な割り当てをajax経由でpromiseに変換するにはどうすればよいですか?
キャッシングに関するこの質問と条件付きの約束に関するこの質問を見ましたが、正直なところ、約束を使用したことがないので、まだ少し混乱しています。
when.js v2.5.1と jQuery v2.0.3を使用しています。次のコードを promise に変換しようとしています (coffeescript の方がはるかに明確なので、そのまま使用しますが、javascript で自由に応答してください)。
次のように呼び出されます。
だから、約束を返したいのはわかっています。jQuery の xhr が遅延可能であり、Promise API を実装していることはわかっています。
返されるものは何でもそれをthen
呼び出すことができるからです…?
どんな助けでも大歓迎です。