0

Dart で EventSource を使用しようとしています。

var source = new EventSource('/myUrl');
source.on.error.add((Event e) => print('error'));
source.on.message.add((MessageEvent me)  => print(me.data));

メッセージは好評ですが、「エラー」は常に出力されます。このエラーに関する詳細情報を入手するにはどうすればよいですか? Event の代わりに ErrorEvent を使用しようとしましたが、このイベントは ErrorEvent ではないため失敗します

4

1 に答える 1

1

テストするイベントソースはありませんが、「このエラーに関する詳細情報を入手するにはどうすればよいですか?」という質問に答えるお手伝いをします。

変化する:

source.on.error.add((Event e) => print('error'));

に:

source.on.error.add((e) {
  print('error');
});

次に、printのある行にブレークポイントを設定します。これにより、Dartiumでアプリケーションをデバッグするときに、ローカル変数eを検査できます。

また、dart2jsを使用してアプリケーションをJavaScriptにコンパイルし、ChromeのJavaScriptデバッガーを使用してeの詳細を確認することもできます。デバッガーで生成されたJavaScriptで「エラー」を検索して、ブレークポイントを配置する場所を見つけます。

時々役立つもう1つのトリックは、コードを次のように変更することです。

source.on.error.add((int e) => print('error'));

eはintではないため、DartEditorは警告を表示し、eが実際にどのタイプであるかを通知します。次に、そのタイプを使用できます。次に、コマンドキーを押しながらそのタイプをクリックして、そのソースコードを確認します。

私の最善のアドバイスは、ChromeのJavaScriptデバッガーを使用して、そこから問題をデバッグすることです。これは、過去にこの種の問題を切り分けるのに役立ちました。

于 2012-08-24T01:21:34.803 に答える