Я пытаюсь найти каждый элемент управления контентом в документе, определить абзац, которому он принадлежит, и выполнить некоторую логику с ним. Чтобы проверить, я создал документ с четырьмя строками и контролем содержания в каждой строке. Код, который я написал, выглядит следующим образом:
Word.run((context) => {
const { contentControls } = context.document;
contentControls.load('items');
return context.sync().then(() => {
contentControls.items.forEach((contentControl) => {
const range = contentControl.getRange();
range.load();
context.sync().then(() => {
const paragraphList = range.paragraphs;
paragraphList.load();
context.sync().then(() => {
console.log(paragraphList.items[0].text);
});
});
});
});
});
Однако в результате некоторые строки печатаются, как и ожидалось, в то время как другие строки выдают следующую ошибку:
word-web-16.00.debug.js:12031 Uncaught (in promise) RichApi.Error: The property 'items' is not available. Before reading the property's value, call the load method on the containing object and call "context.sync()" on the associated request context.
at new RuntimeError (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-web-16.00.debug.js:12031:22)
at Function.Utility.createPropertyNotLoadedException (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-web-16.00.debug.js:16760:11)
at Utility.throwIfNotLoaded (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-web-16.00.debug.js:16756:19)
at ParagraphCollection.get [as items]
I 'Я не уверен, почему некоторые строки, содержащие элементы управления содержимым, были бы успешно загружены, а другие - нет.
Мои вопросы:
1) Правильно ли я подхожу к этому, и
2) Почему загрузка данных настолько уникальна?