問題タブ [dart-async]
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.
dart - 私のコードがゾーンや Dart ですべての非同期作業を完了したことを知るにはどうすればよいですか?
次のようなコードがあるとします。
ゾーン内のすべての非同期作業がいつ完了したかを知るにはどうすればよいですか? つまり、ゾーン内に登録されたすべての非同期メソッド (タイマー、フューチャーなどを介して) がいつ完了するかを知ることは可能ですか?
dart - sqljocky クエリにメソッド 'then' がありません (dart データベース アクセス)
Dart でsqljockyを使用して、データベースへの SQL アクセスをコーディングしようとしています。データベース Handler から返された結果を使用して何らかの計算を行いたいので、メソッドは Future を返します。
しかし、実行しようとすると、次のエラーが発生します。
デバッガーを実行したところ、次のエラーが発生することがわかりました。
しかし、catchError 句は起動しません。
私のハンドラーメソッドは次のとおりです。
このハンドラを呼び出すメソッドは次のとおりです。
phpmyadmin で直接クエリを実行すると、正しいデータが返されるので、正しいです。
誰かがそれを解決する方法についてのヒントを教えてもらえますか?
dart - Dart 先物の連鎖 - 中間結果にアクセスできますか?
Dart では、Future を連鎖させて、コールバックをネストすることなく、複数の非同期メソッドを順番に呼び出すことができます。これは素晴らしいことです。
最初にRedisのようなデータ ストアに接続し、一連の順次読み取りを実行したいとします。
4 つの非同期メソッドがありますが、コードは非常に読みやすく、理解しやすいものです。ステップが同期して順番に実行されているように見えます。美しい!(ネストされた JavaScript コールバックを使用して同じコードを書かなければならないことを想像してみてください...)
残念ながら、これはうまくいきません。メソッドから取得した RedisClient は、後続の s の.connect
スコープ外のローカル変数にのみ割り当てられます。.then
そのため、redisClient.smembers
実際redisClient.get
には null ポインター例外がスローされます。
明らかな修正は、戻り値を関数スコープを持つ別の変数に保存することです。
残念ながら、これによりコードがより冗長になり、見栄えが悪くなります。追加のヘルパー変数 (theRedisClient) があり、Lambda 式の 1 つを匿名関数に置き換えて、中かっこのペアとreturn
ステートメントと別のセミコロンを追加する必要がありました。
これは一般的なパターンのように見えるので、これを行うよりエレガントな方法はありますか? チェーンのさらに下にある以前の中間にアクセスする方法はありますか?
dart - パラメータが true になるまで Futures を実行する
将来の「requestServer」でサーバーへのリクエストを開始します。特定の値 (リクエストが完了すると false から true に渡される) についてシステムをポーリングし、終了したら戻りたいと思います。
コードはそのようなものかもしれませんが、「while」は同期で「checkOperation」は非同期ですか?
何か案は ?
dart - Future のタイムアウト メソッドは壊れていますか?
Future と非同期で実行したい実行時間の長いタスクがありますが、最終的にはタイムアウトさせたいです。タイムアウトが呼び出されていないように思えますが、タイムアウトを正しく使用していない可能性がありますか?
これはバージョン 1.3.0-dev.4.1 の下にあります。おそらく、タイムアウトの使用方法を誤解しているだけです
dart - Dart 関数の戻り値
Dart を独学で学ぼうとしているのですが、C 出身で少し混乱しています...
私はこれをやっています:
新しいマップを取り戻そうとしていますが、ご想像のとおり、機能せず、「機能しません」というメッセージが表示されます。コードが同じ機能にあるときは、うまくいきました...
助けてください。
そして、C としてポインタシステムがありますか?
ご協力ありがとうございました。
最終コード:
dart - ダーツが速すぎる
このコードが「チェック」を2回出力する理由を理解しようとしています...
速すぎますか?または、一時停止する方法はありますか?ありがとうございました。
dart - クライアント側、then() またはその他?
クライアント側で「未来」を使用するにはどうすればよいですか?
そして、イベントが catch ではないときに、コードの実行をブロックするにはどうすればよいですか?
私はecmascript 6でPromise関数を見ました。それを使用する方法、またはアイデアはありますか?
HTML :