Как инициализировать вложенную функцию или класс один раз для 2х файлов

Рейтинг: 0Ответов: 1Опубликовано: 02.05.2023

можно ли как-то обыграть этот момент, когда мне необходимо использовать запущенный класс/вложенную_функцию (ClassOrNestedFunction) в двух разных файлах, но с одной инициализацией? Т.е. чтобы аутпут от getStartTime был одинаковый

Пример

// FILE_0
const ClassOrNestedFunction = async()=>{
    await sleep(1000);

    let time = new Date().getTime();

    return {getStartTime: ()=>time};
};
// export for ClassOrNestedFunction
// FILE_1
// import ClassOrNestedFunction from FILE_0
const {getStartTime} = await ClassOrNestedFunction();
console.log(getStartTime()); // unixtime_1
// FILE_2
// import ClassOrNestedFunction from FILE_0
const {getStartTime} = await ClassOrNestedFunction();
console.log(getStartTime()); // unixtime_not1

Знаю, что можно просто прокинуть ClassOrNestedFunction внутри FILE_1 когда он запускает FILE_2

Т.е. вот так:

// FILE_1
// import ClassOrNestedFunction from FILE_0
// import file2 from FILE_2
const ClassOrNestedFunctionInited = await ClassOrNestedFunction();
const {getStartTime} = ClassOrNestedFunctionInited;
console.log(getStartTime()); // unixtime_1
// ...
file2(ClassOrNestedFunctionInited);

Ответы

Ответов пока нет.