Я пытаюсь выполнить метод класса после завершения другого. Первый вызывает 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
выполнил свою работу.