問題タブ [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 の初心者です。そして、Deck というトランプ オブジェクトのリストを作成しました。ランダムなカードを選択して、そのカードをデッキから削除しようとしています。デッキが減る前に次のカードがピックされているように見えるため、重複しています。デッキから 10 枚のユニークなランダム カードを選ぶ一連のイベントを今後どのように処理しますか?
Card オブジェクトを Future として返そうとすると、次のようになります。
タイプ 'Card' はタイプ '() => dynamic' の 'computation' のサブタイプではありません。
デッキ リストを返そうとすると、次のようになります。
型 'List' は 'computation' の型 '() => dynamic' のサブタイプではありません。
正しい構文、ロジックの欠陥がありませんか、それとも、おそらく変更を監視して、リストを別の方法で処理する必要がありますか?
編集して追加: futures 構文は機能しますが、削除が正しく行われていないようです。2 番目の名前付きコンストラクターを使用して List から新しい Card オブジェクトをプリロードすることを除いて、以下の Jim-Y によって提案されたコードにコードを変更しました。修正されたコードと出力は次のとおりです。
ご覧のとおり、クラブの 10 が 2 回印刷されています。では、パス 6 で 10 が削除された場合、なぜパス 7 に残っているのでしょうか?
dart - 他の先物によって提起された先物を待っています
Lawndart ライブラリを使用してブラウザー データにアクセスしており、一連のクエリの結果を収集したいと考えています。これが私がうまくいくと思ったものです:
ただし、コールバックが呼び出されたときmap
はまだ空です (正しく入力されますが、後ですべての Future が完了した後で)。問題は、呼び出しによって作成されたgetByKey()
先物が、呼び出しによって作成された先物によって「キャプチャ」されていないことだと思いforEach()
ます。
結果を正しく取得するためにコードを修正するにはどうすればよいですか?
dart - Dart イベント キューとマイクロタスク
ダーツイベントループがどのように機能するかを理解しようとしています。The Event Loop and Dartという Web サイトのイベント ループに関する記事を読んだところ、著者は dart のイベント ループがどのように機能するかについてかなり詳しく説明しています。
しかし、私が理解していないのは、イベントがキューを取得する方法です。例えば
ここで dart はイベント キューに 3 つのエントリを作成しますか、それとも 1 つだけ作成しますか? クラス Future が遅延実行を担当していることを知っています。それからオブジェクトを作成すると、
イベント ループの 1 つのエントリにすぎません。
上記のこの記事では、マイクロタスクについて読みました。このマイクロタスクはイベント キューの前に実行されますが、意味がわかりません。なぜ dart チームはこのマイクロタスクを実装するのですか? 多分私はいくつかの例が必要です!
unit-testing - HttpClient & 単体テスト
Dart、単体テスト、および非同期プログラミング全般の初心者。さらに言えば、StackOverflow。shell_route を中心に RESTful サーバーを構築し、HttpClient を使用してテストしようとしています。
私のテストは機能しますが、自然に終了しません。代わりに、プロセスを手動で終了する必要があります。オンラインで見つけたいくつかのアプローチを試しましたが、うまくいきませんでした。誰か手を貸してくれませんか?これが私が取り組んでいるものです:
更新:http
パッケージを優先して HttpClient を放棄することにしました。作業がはるかに簡単になり、テストが自然に終了するようになりました。明らかに、最初のゴーアラウンドで何かを正しく処理していませんでした。上記のコードは次のようになります。
mongodb - 問題のあるMongoDartの検索
Dart で MVC フレームワークを実装しています。私は find メソッドを実装しており、そのクエリからドキュメントを返すようにしたいと考えています。
問題は、find() が操作が実行されるのを待たず、then() 内で関数をバインドする必要があることです。
現在、find() からの戻り値は [] です。書類を適切に返却する方法を知っていますか?
dart - dart future.sync メソッドの使い方
クラス future から future.sync を使用しようとすると
エラーメッセージが表示されました
例外の中断: タイプ NoSuchMethodError のオブジェクト
future.sync を間違った方法で使用していませんか?
私の2番目の質問は
パッケージから非同期ライブラリをインポートしようとすると、コンパイラ メッセージが表示されるのはなぜですか
例外発生: TypeError
未定義クラス 'Future' のオブジェクト
私はここで何を間違っていますか?
dart - クライアントまたはhttpサーバーなしでTimerによって呼び出されたDart HttpClient.getUrl
編集: 問題は Timer や HttpServer に関連していませんでした。dart.io のスリープ機能がすべてを一時停止していました。それはドキュメントに明確に記載されています、私の悪いことです。
///
サーバーコードで動作する HttpClient に奇妙な問題があります。電話する
Timer オブジェクトから、印刷ステップに到達することはありません。Timer からではなく HttpRequest から呼び出される以前のバージョンのコードをほぼコピー アンド ペーストしたものです。作業コードは私の質問 [ここ] [1] にあります。長い行で失敗します。到達しない最後の Future (HttpClientResponseBody) であると思われます。
タイマー オブジェクトは次のように作成されます (テスト コードのみ)。
//編集: わかりました、これがソースです。些細な問題かもしれません..2日間理解できません:-D