Вызов метода класса после того, как другой завершил его выполнение - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь выполнить метод класса после завершения другого. Первый вызывает API и заполняет массив и словарь. Затем следующий метод берет данные и создает новый словарь. Я не могу заставить это работать последовательно, любая идея?

Я пытался добавить обратный вызов при вызове первого метода, но он не работает.

this.fillListDictionary(function(){
    this.fillCatDictionary();
});

fillListDictionary(callback) {
    this._categoryList = [];
    this._propertyDictionary = [];

    //Fill list and dictionary calling the API ()
    callback();
}

fillCatDictionary() {
    this._catDictionary = [];        
    this._categoryList.forEach((category) => {
        this._propertyDictionary.forEach((property) => {        
            if(property.properties.includes(category)){
                var f_index = this._catDictionary.findIndex(x => x.category == category);
                if(f_index >= 0){
                    this._catDictionary[f_index].dbIds.push(property.dbId);
                }
                else {
                    var cat = new Object();
                    cat.category = category;
                    cat.dbIds = [property.dbId];
                    this._catDictionary.push(cat);
                }
            }
        })
    })
}

Я бы хотел, чтобы он работал последовательно: fillCatDictionary должен выполняться после того, как fillListDictionary выполнил свою работу.

...