Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.06.2016, 06:56
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

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

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

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

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

Как быть в этом случае?
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #2 (permalink)  
Старый 30.06.2016, 07:14
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сделай для него обертку, которая возвращает промис.
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2016, 07:57
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Сделай для него обертку, которая возвращает промис.
Либо вынеси логику загрузки в асинхронный метод.
Ответить с цитированием
  #4 (permalink)  
Старый 30.06.2016, 07:59
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

сделал так

class Class1{
    constructor(){
        ...

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

}


new Class1().then(function(instance1){
    ...
});
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Асинхронный ajax запрос imonzx AJAX и COMET 3 13.06.2015 00:02
Встроить конструктор чехлов в CMS Drupal 6 weboreh Работа 0 05.11.2014 11:23
Практика: Функция конструктор и геттер. Magneto Общие вопросы Javascript 2 07.07.2013 14:01
Nodejs - где конструктор Request Riim AJAX и COMET 4 29.07.2011 17:12