Адаптер не обрабатывает ошибки CKEditorError при отклонении Promise

https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html

Эти коды ошибок интегрированы в редактор или мне нужно обрабатывать их вручную? если я добавлю комментарий с помощью CommentAdapter, а сервер выдаст ошибку, будет ли пользовательский интерфейс ckeditor отображать ошибку, если я отправлю обещание как отклоненное?

Он бросает CKEditorError:

bundle.js:48916 Uncaught (in promise) CKEditorError: commentsrepository-add-comment-internal-error
Read more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-commentsrepository-add-comment-internal-error
    at bundle.js:48916:41

но не совсем уверен, нужно ли это обрабатывать вручную или пользовательский интерфейс будет реагировать на это событие, в документах или примерах нет демонстрации этой функции.

в любом случае после того, как выброшен CKEditorError, watchdog, кажется, что-то делает, но не совсем ясно, потому что функция комментариев редактора дает сбой и не перезапускается.

Это объявление React-CKEditor:

<CKEditorContext context = {ClassicEditor.Context}>
     <CKEditor
                    editor = {ClassicEditor}
                    onReady = {async editor => {
                      console.info(
                        'onReady is called after CKEditorError',
                        editor,
                      );
                    ... // no watchdogConfig
      ...
...

согласно документам сторожевой таймер уже включается:

Интеграция с React поставляется с функцией сторожевого таймера, уже интегрированной в ядро.

  • Должен ли я ожидать, что функция комментариев каким-то образом отобразит ошибку?
  • Как я узнаю, что сторожевой таймер наблюдает и выполняет свою работу?
  • Почему адаптер addCommentreturn Promise.reject() вызывает сбой всей функциональности комментариев? По ошибке похоже, что я что-то упускаю, но не понятно где.
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот что ответила поддержка CK:

Наша команда рассмотрела код, который вы предоставили, и снова ваш вопросы. Что касается сторожевого таймера, пожалуйста, обратите внимание на сторожевой таймер должен перезапустить редактор, когда происходит сбой, а это не то, что вы хотите достичь. К сожалению, в настоящее время по умолчанию нет обработка ошибок для редактора. Когда есть проблема и обещание отклонено, редактор вылетает. Это будет зависеть от вас, чтобы написать логика в этих местах: [фрагменты кода] Функция комментариев ожидает что вызов адаптера будет успешно разрешен. Если нет, то функция выдает только возвращенную ошибку. Любая дополнительная логика будет должны быть готовы с вашей стороны. Например, если getCommentThread() терпит неудачу, потому что поток больше не существует, вы должны удалить маркер, если он не работает из-за ошибки подключения, вы можете попробовать сделать перезвонить через некоторое время; если addCommentThread() не работает, вы можете захотеть повторить попытку через некоторое время или удалить маркер и данные как хорошо. Мы также не предоставляем систему пользовательского интерфейса для уведомлений. С обычно это зависит от приложения/интеграции, мы оставляем это на усмотрение интегратор тоже. К сожалению, это нетривиальная сумма работы. Вместо этого вы можете рассмотреть возможность использования интеграции загрузки и сохранения тип. Таким образом, состояние цепочки комментариев будет храниться только локально и вы сохраните данные потоков комментариев вместе с документом HTML.

Другие вопросы по теме