Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Асинхронный конструктор (https://javascript.ru/forum/node-js-io-js/63797-asinkhronnyjj-konstruktor.html)

khusamov 30.06.2016 06:56

Асинхронный конструктор
 
Как сделать Асинхронный конструктор?

У меня есть класс Class1.

Его конструктор делает асинхронные операции. Например загружает файл с настройками.

Соответственно сразу после создания экземпляра класса, воспользоваться его методами нельзя.

Как быть в этом случае?

destus 30.06.2016 07:14

Сделай для него обертку, которая возвращает промис.

Erolast 30.06.2016 07:57

Цитата:

Сделай для него обертку, которая возвращает промис.
Либо вынеси логику загрузки в асинхронный метод.

khusamov 30.06.2016 07:59

сделал так

class Class1{
    constructor(){
        ...

        return new Promise((resolve) => {
            ...
            resolve(this);
        });
    }

}


new Class1().then(function(instance1){
    ...
});


Часовой пояс GMT +3, время: 11:28.