Я создаю плагин CKEditor 5, который должен отображать список на основе результата вызова REST. Я зарегистрировал свой элемент схемы с помощью:
editor.model.schema.register('myItem', {
allowIn: '$root',
isBlock: true,
isObject: true
});
Затем добавил преобразователи:
editor.conversion.for('upcast').add(upcastElementToElement({
view: {
name: 'div',
classes: 'myItem'
},
model: 'myItem'
}));
editor.conversion.for('dataDowncast').add(downcastElementToElement({
model: 'myItem',
view: (modelElement, viewWriter) => {
return getContent(modelElement, viewWriter);
}
}));
editor.conversion.for('editingDowncast').add(downcastElementToElement({
model: 'myItem',
view: (modelElement, viewWriter) => {
const div = getContent(editor.model, viewWriter);
return toWidget( div, viewWriter, { label: 'widget label' } );
}
}));
Мой метод getContent отвечает за получение данных с помощью вызова REST. Моя проблема в том, что если я использую axios или fetch для получения данных, он возвращает обещание, и я не знаю, как передать результат атрибуту «представление». объекта, переданного методу downcastElementToElement. Этот атрибут «представление» ожидает функцию, которая возвращает объект для отображения. Есть ли способ добиться этого?