Фактическая проблема:
После получения последних обновлений из окон мы получаем ошибку «Ожидание завершения предыдущего вызова» для Office.js (метод API: Office.context.document.bindings.addFromNamedItemAsync).
Большинство пользователей, использующих это последнее обновление, сталкиваются с этой проблемой. (Для версии oder оно отлично работает)
Пока мы удалили обновление Windowsс компьютеров пользователей и удаления и переустановки MS Office.
Просто для информации ниже приведены наши наблюдения: Мы наблюдаем это, когда диапазон имен для записи огромен.Это происходит только после последнего обновления.Прежде чем увидеть, тот же код с тем же номером диапазона имен используется для нормальной работы.
Измененные файлы не отображаются в приложении панели задач для файла JS (но могут видеть изменения html, но не уверены, что это новая проблема с обновлением) даже после выполнения следующих шагов - Создание проекта для создания файлов JS (из сценария Type).- Непосредственно измененные файлы JS.- Удален кеш браузера IE.- Очистить решение и заново собрать - Удаленные временные файлы - Система перезапущена.
Невозможно присоединить процесс сценария отладчика к Visual Studio (он отлично работает с другой системой).
Здесьэто информация о версии, где мы сталкиваемся с этой проблемой:
![enter image description here](https://i.stack.imgur.com/ks7Qp.jpg)
![enter image description here](https://i.stack.imgur.com/RHcDT.jpg)
Пожалуйста, дайте мне знать, если вам требуется дополнительная информация.
Обновлено 1 объяснение `
Office.select('bindings#' + namedRange, function (callback: any) {
if (callback.status === Office.AsyncResultStatus.Failed) {
Office.context.document.bindings.addFromNamedItemAsync(
namedRange, //The name of the named item. Required.
bindingType, // Specifies the type of the binding object to create. Required.
{
id: namedRange, // Specifies the unique name to be used to identify the binding object. Optional. If no id argument is passed, an id will be autogenerated.
//asyncContext: data, // A user-defined item of any type that is returned in the AsyncResult object without being altered. Optional.
coercionType: bindingType
},
// A function that is invoked when the callback returns, whose only parameter is of type AsyncResult.
(result: any) => {
if (result.status == Office.AsyncResultStatus.Succeeded) {
var id = result.value.id;
Office.select(
"bindings#" + id,
function onError() {
defQ.reject(' Error: Binding not found');
}
).getDataAsync(
{
},
(asyncResult: any) => {
if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
tracer.Trace("Completed read operation In ReadExcelQPromise method " + namedRange + " time elapsed -" + (Date.now() - startTime));
defQ.resolve(asyncResult.value);
}
else {
tracer.Trace("In ReadExcelQPromiseFail1 method " + namedRange + Date() + " ", asyncResult);
defQ.reject(' Error: ' + asyncResult.error.message);
}
}
);
}
else {
tracer.Trace("In ReadExcelQPromiseFail2 method " + namedRange + " " + Date(), result);
defQ.reject(' Error: ' + result.error.message);
}
});
}
}).getDataAsync(
{
},
(asyncResult: any) => {
if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
tracer.Trace("Completed read operation In ReadExcelQPromise method " + namedRange + " time elapsed -" + (Date.now() - startTime));
defQ.resolve(asyncResult.value);
}
else {
tracer.Trace("In ReadExcelQPromiseFail3 method " + namedRange + " " + Date(), asyncResult);
defQ.reject('Error: ' + asyncResult.error.message);
}
}
);
Точное сообщение: В методе WriteExcelQPromiseFail3 FRWK_Base_GroupLK_MXTue 23 апреля 2019 г. 23: 55: 06 GMT + 0530 (стандартное время Индии)
Ошибка: Дождаться завершения предыдущего вызова