Как я могу восстановить после ошибки 9030, когда mailbox.item.body.getAsync не удалось? - PullRequest
1 голос
/ 07 мая 2019

Я работаю над надстройкой Outlook.Но я получаю проблему, что иногда Office.context.mailbox.item.body.getAsync завершается ошибкой при перезагрузке страницы надстройки.Хуже всего то, что, как только body.getAsync вернет ошибку «APICallFailedDueToItemChange», body.getAsync всегда будет с ошибкой с той же ошибкой.Подробности этой ошибки: {name: "APICallFailedDueToItemChange", сообщение: "Выбранный элемент был изменен.", Код: 9030}

Я попытался вызвать getAsync и даже перезагрузить все окно, чтобы сделатьНадстройка перезапущена, но ошибка будет возникать постоянно.Единственный способ - переключиться на другое письмо.

Воспроизвести шаги: 1. Создайте любое дополнение Outlook, в котором попытайтесь получить тело сообщения 2. После загрузки надстройки перезагрузите окно надстройки 3. После того, какПроизошла ошибка 9030, этот код в консоли всегда будет вызывать одну и ту же ошибку, пока я не переключусь на другое письмочистить.

1 Ответ

1 голос
/ 09 мая 2019

Пожалуйста, измените свой код как таковой, вы ничего не делаете с этим обещанием.

await new Promise((resolve, reject) => {
    return window.Office.context.mailbox.item.body.getAsync('text', (result) => {
      if (result.status === 'succeeded') {
        console.log(result.value);
        return resolve(result.value);
      } else {
        console.error(result.error);
        return reject(result.error);
      }
    })
  })
...