Ошибка EventSource с Dart
Я пытаюсь использовать EventSource с Dart.
var source = new EventSource('/myUrl');
source.on.error.add((Event e) => print('error'));
source.on.message.add((MessageEvent me) => print(me.data));
Сообщения хорошо приняты, но "ошибка" всегда печатается. Как я могу получить больше информации об этой ошибке? Я попытался использовать ErrorEvent вместо Event, но это не удалось, потому что это событие не ErrorEvent
1 ответ
У меня нет источника событий для тестирования, но я могу помочь вам ответить на ваш вопрос: "Как я могу получить больше информации об этой ошибке?"
Изменить:
source.on.error.add((Event e) => print('error'));
Для того, чтобы:
source.on.error.add((e) {
print('error');
});
Затем установите точку останова на строке с печатью. Это позволит вам проверить локальную переменную e при отладке приложения в Dartium.
Вы также можете использовать dart2js для компиляции приложения в JavaScript и отладчик JavaScript в Chrome, чтобы узнать больше о e. Выполните поиск "ошибки" в сгенерированном JavaScript в отладчике, чтобы выяснить, где поставить точку останова.
Другой полезный трюк - изменить код на:
source.on.error.add((int e) => print('error'));
Он не является int, поэтому DartEditor выдаст вам предупреждение, сообщающее вам, что тип e на самом деле. Затем вы можете использовать этот тип. Затем, нажмите Ctrl + клик по этому типу, чтобы посмотреть его исходный код.
Мой лучший совет - попытаться использовать JavaScript-отладчик Chrome и отладить проблему оттуда. Это помогло мне изолировать подобные проблемы в прошлом.