Вряд-ли ответите, но может кто что-то подобное делал.
Есть класс, в конструктор класса передаю список подключаемых файлов.
В цикле перебираю массивсписок аргументов(подключаемых файлов) и запускаю загрузку функцией Load
Функция Load возвращает промис, то есть в теле промиса в then когда файл загрузится я могу использовать возможности этого файла
Проблема в том что файлов несколько и неизвестно когда все загрузятся. В результате конструктора думаю нужно вернуть промис в котором отслеживать загрузку всех файлов и по готовности делать resolve(true). То есть надо как-то объединить все промисы загрузки.
export class Highlight {
constructor(...arg){
/* Конструктор */if(!Array.isArray(arg))arg=arg.split(',');
let Prm=new Promise(function(resolve){
while(arg.length)resolve(true)
});
for(let val of arg)
Prm.then(()=>Load('../editor/'+val+'.js')
.then(()=>arg.delete(val))
)
return Prm
}
}
ArbNet
Ребята, а ларчик просто открывался 😀 Нашёл решение.
constructor(...arg){ /* Конструктор */ if(!Array.isArray(arg))arg=arg.split(','); let Prm=[]; for(let val of arg) Prm.push(Load('../editor/'+val+'.js')) return Promise.all(Prm).then(()=>{returnthis}); }
Sly32
Что, в пхп наигрался, теперь Реакт изобретаешь? Или его тож у тебя украли?
ArbNet
Во-первых это нативный Js, а не React. Во-вторых я делаю свой фреймворк без сторонних библиотек только PHP(+ БД) и JS.
В данном случае просто сделал class Highlight для подсветки синтаксиса.
Сразу отвечу на твой вопрос, зачем делать свою либу когда есть уже куча разных, просто прикрути и всё..
У меня код намного меньше, быстрее и его можно использовать не только для подсветки блока кода, но и в визуальном редакторе, к тому же совместим с самим движком(то есть пользователи смогут простым указанием в структуре подключать его для подсветки кода или в редакторе) 😀
ArbNet
Вряд-ли ответите, но может кто что-то подобное делал.
ArbNet
Ребята, а ларчик просто открывался 😀 Нашёл решение.
Sly32
ArbNet
Во-первых это нативный Js, а не React. Во-вторых я делаю свой фреймворк без сторонних библиотек только PHP(+ БД) и JS.
В данном случае просто сделал class Highlight для подсветки синтаксиса.
Сразу отвечу на твой вопрос, зачем делать свою либу когда есть уже куча разных, просто прикрути и всё..
У меня код намного меньше, быстрее и его можно использовать не только для подсветки блока кода, но и в визуальном редакторе, к тому же совместим с самим движком(то есть пользователи смогут простым указанием в структуре подключать его для подсветки кода или в редакторе) 😀