Я пытался отобразить диалоговое окно «Обратная связь с пользователем» при нажатии определенной кнопки, но у меня возникли некоторые проблемы.Я успешно заставил его работать, когда я вызываю мой API, и в итоге получаю сообщение об ошибке, показанное первым.
Однако я создал кнопку, которая будет вызывать вызов Sentry.showReportDialog, но я получаю 'Cannot readсвойство 'showReportDialog' из неопределенного 'ошибка.Я попытался использовать Sentry.capture Message / Exception / Error для генерации eventId, но я все еще получил ту же ошибку.Это мой текущий код, который не работает, но я изменил его приличное количество и все еще получал ту же неопределенную ошибку для showReportDialog, даже когда я попробовал метод, который работал с моим вызовом API.Это веб-приложение выполняется с использованием Ember.js v3.5.1, и в моем package.json зависимость для sentry равна "@ sentry / browser": "^ 4.5.3"
// works
try {
$('.ember-application').addClass('request-loading');
this.model.setProperties(properties);
return yield this.model.save();
} catch (err) {
// Get feedback from user through sentry
Sentry.init({
dsn:'https://ec08003a76fa4b6e8f111237ed3ed8e1@sentry.io/1369772',
beforeSend(event) {
if (event.exception) {
Sentry.showReportDialog({ eventId: event.event_id });
}
return event;
},
});
}
// does not work
try {
throw new Error();
} catch (e) {
var eventId = yield Sentry.captureException(e, function(sendErr, eventId) {
// This callback fires once the report has been sent to Sentry
if (sendErr) {
console.error('Failed to send captured exception to Sentry');
} else {
console.log('Captured exception and send to Sentry successfully');
console.log(eventId);
}
});
console.log(eventId);
Sentry.showReportDialog({ eventId: eventId });
}