問題タブ [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.

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

dart - Dart 言語サポート async/await プログラミング スタイル、または同様のもの?

Dart言語で同様のコードを書くことは可能ですか?

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

dart - ストリームに参加するときに Dart StreamController.addStream が期待どおりに機能しないのはなぜですか?

次の Dart コード スニペットがあるとします。

次の出力が得られます。

この出力から理解できないことがいくつかあります。

  1. stream2それぞれのエントリが 1 つしかないのはなぜstream3ですか。で作成した複合ストリームは、およびStreamControllerからのイベントの 1 つを消費しますか? この動作は私には奇妙に思えます。何か不足していますか?stream2stream3

  2. stream2完了したときにstream3のみ完了するのはなぜstream1ですか? .take(10)これは、両方が制限されている場合に期待する自然な動作ではなく、 onの動作と矛盾しstream1ます。.take(10)onstream1を削除するstream2stream3、実際には完了しません。

controllerソースも追加するように変更するとstream1(以下のスニペットと出力を参照)、実際には 2 つの要素がアップしたときに自然な位置でstream2andstream3が完了しますが、ストリームの 1 つをリッスンしようとしたため、例外も発生します。二回。

誰かがここで何が起こっているのかを理解するのを手伝ってくれますか?

ありがとう、

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

dart - 先物/約束、およびバグの追跡

短い、単純なコード、Futures (dart)、または Promises (js) は、コールバックの恐ろしさに対する漠然とした有用な解決策を提供しているように見えます。

大規模なソフトウェアでは、たとえば、話しているサーバーがジャンクを返し始めたときに問題が発生し、サードパーティのコードの奥深くに埋め込まれた、これまで見られなかった例外がトリガーされます。この時点で、信じられないほど長い .then のチェーンのどこかで、catchError で終了し、新しい「Null ポインター例外」のようなものの幸運な受信者になります。それはどこから来たのか?知るか?明らかに、これらの手法を使用して呼び出しスタックを魔法のように取得するわけではなく、何の役にも立たないトレース情報はありません。特定の関数がこの巨大なチェーンで 50 回呼び出され、任意の呼び出しでエラーが発生する可能性があります。

このような状況に直面した場合、どのような戦略を採用するのが最適ですか?

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

dart - 2 つのストリームが完了したことを知るにはどうすればよいですか?

非同期イベントに Dart の Streams を使用しています。2 つのストリームがあり、両方のストリームがいつ完了するか (つまり、閉じられるか) を知りたいです。Futuresでこれをやりたいです。どうすればいいのですか?

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

dart - Dart http メソッドの奇妙な動作は「GET」をサポートせず、Google のブラウザでのみ機能します

メソッドを使用してサーバー側にデータを送信しますが、GET メソッドを使用すると、リクエストがそのサーバーに到達できず、コードのブロックでさえロジックのように見える理由がわかりません。 Googleブラウザで作業し、他のブラウザで失敗し、理由もわかりません。方法は次のとおりです。誰でもこの動作の理由を教えてもらえますか?

そして私はそれをこのように呼びます:

サーバー側のヘッダーに追加しても、メソッドは「GET」を受け入れません。前述のように、Googleブラウザーでのみ機能します。誰かがより良い解決策を持っている場合は、教えてください。

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

dart - 拡張する未来

Dart で先物を定義することについてではなく、使用することについてはかなり多くのことがわかりました。letsWait()かなり時間がかかるとしましょう。Futureクラスの使用方法を教えてください。

この試みは私に与えます:

unresolved implicit call to super constructor 'Future()' class ArtificialWait extends Future<String> {