問題タブ [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 - promiseでjQueryロードを使用する
私はまだ頭を包み込もうとしてdeferred
いますが、そうではないので、これを念頭に置いて、次の方法について質問があります。
私のチームと私には3つの別々の.load()
メソッドがあり、それぞれが特定のテンプレートを取得して同じコンテナーに追加します。各ロードには、ご想像のとおり異なる時間がかかるため、コンテンツがロードされると、「階段状」の方法でロードされます(1、2、3)。deferred
オブジェクトを利用して、すべて完了するまで待ってから、同時に追加して「階段」アクションを削除したいと思います。
3つの呼び出しはすべて、上記の呼び出しと同様です。
どうすればこれを達成できますか?
c++ - set_value() を逆にして promise を「非アクティブ化」するにはどうすればよいですか?
ここで同期についてまったくn00bの質問があります。私は、反復ごとにプロミスに異なる値「p」を割り当てる「ライター」スレッドを持っています。この値の shared_futures を待ってから処理する「リーダー」スレッドが必要です。私の質問は、future/promise を使用して、リーダー スレッドが「p」の新しい更新を待ってから処理タスクを実行するようにする方法です。各反復?どうもありがとう。
javascript - JavaScript の Deferred、Promise、Future の違いは何ですか?
Deferred、Promise、Future の違いは何ですか?
これら 3 つすべての背後にある一般的に承認された理論はありますか?
javascript - jQuery遅延オブジェクトで依存関係を設定するための省略形は何ですか?
jQuery の遅延オブジェクトには、依存関係をセットアップするための簡単な説明がありますか? 以下は面倒に感じます:
のようなものが欲しいですb.alsoResolves(a)
。ドキュメントを見ましたが、適切なものが見つからないようです。上記の方法よりも、遅延オブジェクト間の依存関係を作成するためのより良い方法はありますか?
python - Pythonでの非同期APIの設計
(注:この質問は、APIの設計に関するものであり、実装方法に関するものではありません。つまり、APIのクライアントがここで見るものだけを気にし、それを機能させるために何をしなければならないかは気にしません。)
簡単に言えば、Pythonで明示的な先物(別名promise、別名deferred、別名tasks-名前はフレームワークによって異なります)の確立されたパターン(ある場合)を知りたいです。以下は、より詳細な説明です。
次のような単純なPythonAPIについて考えてみます。
これは同期バージョンです-回線がまだ利用できない場合はブロックされます。ここで、操作が完了したときに呼び出されるコールバックを登録できる、対応する非同期(非ブロッキング)バージョンを提供するとします。たとえば、単純なバージョンは次のようになります。
現在、他の言語やフレームワークでは、そのようなAPIに対して、既存の必須または少なくとも十分に確立されたパターンが存在することがよくあります。たとえば、バージョン4より前の.NETでは、通常、BeginReadLine
/EndReadLine
メソッドのペアを提供し、ストックIAsyncResult
インターフェイスを使用してコールバックを登録し、結果の値を渡します。.NET 4以降ではSystem.Threading.Tasks
、を使用して、すべてのタスク結合演算子(WhenAll
など)を有効にし、C#5.0async
機能に接続します。
別の例として、JavaScriptでは、これを標準ライブラリでカバーするものは何もありませんが、jQueryは、現在個別に指定されている「deferredpromise」インターフェースを普及させました。したがってreadLine
、JSで非同期を作成する場合は、名前を付けて、戻り値にメソッドreadLineAsync
を実装します。then
Pythonの土地で確立されたパターンがあるとすれば、それは何ですか?標準ライブラリを見ると、非同期APIを提供するいくつかのモジュールがありますが、それらの間に一貫したパターンはなく、「タスク」または「約束」の標準化されたプロトコルのようなものはありません。おそらく、人気のあるサードパーティのライブラリから派生できるパターンがいくつかありますか?
Twistedの(このコンテキストでよく言及される)Deferedクラスも見ましたが、汎用のpromise API用に過剰に設計されており、このライブラリの特定のニーズに適合しているようです。クライアントがアプリケーションで両方のライブラリを一緒に使用する場合、私たちの約束がうまく相互運用できるように、(それらに依存することなく)インターフェイスを簡単に複製できるもののようには見えません。直接依存することなくコピー(および相互運用)できる、このために明示的に設計されたAPIを備えた他の人気のあるライブラリまたはフレームワークはありますか?
javascript - CommonJS promise の使用: 拒否と例外
CommonJS promise ( QdownloadAsync()
を使用) を返す関数があります。次の 2 つの方法で失敗する可能性があります。
- ファイルはすでにダウンロードされている可能性があり、その場合はすぐにわかります。
- ダウンロード プロセスが失敗する可能性がありますが、その場合はしばらくしてからわかります。
(1) の場合、非同期が発生する前にわかっているため、例外をスローできます。(2)の場合、私は約束を拒否しなければなりません。
私の質問は、API を統一し、約束を拒否することで常にエラーを通知する必要があるかどうかです。または、すぐに判断できる無効な状態条件に対して例外をスローする必要がありますか? 別の例として、ユーザーが無効な引数を渡した場合、promise を拒否するよりもエラーをスローする方が賢明に思えます。
「例外的な」約束の拒否が実際にどのように行われるかについての明確さも同様に素晴らしいでしょう。そこでの使用法は、例外的な使用法と 1 対 1 で対応していますか?それとも例外的でない障害にも使用しますか?
jquery - .resolve() と .promise() の違いは何ですか?
jQuery の遅延機能を掘り下げています。インターネットでいくつかの例を試しました。resolve()
概念は理解できましたが、との違いがわかりませんpromise()
。
resolve()
との違いは何promise()
ですか?
javascript - WindowsのNode.jsでpromiseを使用する
Windowsで実行されているNode.jsでpromiseをどのように使用しますか?私の人生のために、私はどんな例もうまくいくように思われることができないようです...
たとえば、次のようなものは機能しません。
requireを投入しても、次のいずれにも役立ちません。
私が得るのは次のいずれかです:
また
そして、私も最新のAPIからの約束を見つけることができないようです...(http://nodejs.org/docs/latest/api/)
私は戸惑います。
jquery - すべてのページアニメーションが完了するまでjQueryは待機します
アニメーションが終わるまで待つ方法を知っている
複数の要素を持つ
しかし、ページ上のすべての要素のアニメーション化が完了するまで待つにはどうすればよいでしょうか? そこに待っているすべての要素を入れるだけではありません。