Я пытаюсь создать несколько классических ckeditors.Проблема в том, что я не знаю, сколько у меня будет.Поэтому я инициирую их по className.Это инициаторы редакторов и работают, но не отправлять ничего через AJAX.Поэтому, когда я пытаюсь обновить только текстовую область, я могу отправить последний редактор, потому что window.editor перезаписан.Затем я пытаюсь сохранить в массиве, но я не могу передать th в качестве значения neditor, потому что его a затем выполняет, когда цикл for завершен, поэтому neditor всегда равен 2. Как я могу заставить его работать?Я не очень хорошо понимаю обещания Спасибо!
import ClassicEditor from './ckeditor5-build-classic';
var allEditors = document.querySelectorAll('.usarCkeditor');//i have 2 editors in that case
for (var neditores = 0; neditores < allEditors.length; neditores++) {
ClassicEditor.create(allEditors[neditores])
.then(editor => {
window.editor = editor;//window.editor is alway the last editor
})
.catch(err => {
console.error(err.stack);
});
}
Это другая версия:
for (var neditores = 0; neditores < allEditors.length; neditores++) {
window["editor" + neditores] = 'paco';
ClassicEditor.create(document.querySelector('#' + allEditors[neditores].attributes.id.value))
.then(editor => {
console.log(editor);
window["editor" + neditores] = editor;
console.log(neditores);//always 2 so it overwrites the array
})
.catch(err => {
console.error(err.stack);
});
}
//window.editor -> [0] = 'paco';[1] = 'paco';[2]= ckeditor