У меня есть три файла js file_a.js , file_b.js и file_c.js, все они имеют класс с именем Context:
export class Context{
constructor(){
...
}
Other_functions_which_are_different_for_each_file(){
...
}
}
Основываясь на аргументе, переданном в index.js, я вызываю класс Context из соответствующего файла.
index.js:
let call = document.currentScript.getAttribute("call");
let {Context} = import('./file'.concat(call));
...
async function app(){
camera = new Context();
}
Проблема в том, что index.js не распознает Context как класс. Итак, я получаю Context is not a constructor ошибку в строке camera = new Context();.
Как я могу импортировать класс Context, чтобы я не был ограничен блоком и мог вызывать класс внутри функции app()?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Динамический импорт возвращает обещание, поэтому вам нужно будет дождаться этого обещания, прежде чем вы сможете использовать Context. Например:
const importPromise = import('./file'.concat(call));
...
async function app() {
const { Context } = await importPromise;
camera = new Context();
}