Я пытаюсь изменить порядок табуляции в угловых. Мне нужно запустить 2 цикла, потому что я использую mongodb, который не допускает дублирования значений. Поэтому во время первого цикла я сбрасываю значение на случайное число, а затем устанавливаю правильное значение индекса заказа. Однако, когда я пытаюсь запустить приведенный ниже код, он не выполняется последовательно.
updateTabsOrder(){
for(let i=0; i<this.rearrangedTabs.length; i++){
this._dataService.updateTabsOrder(this.rearrangedTabs[i].id, Math.random())
.subscribe((response) => {
console.log('a');
})
}
for(let i=0; i<this.rearrangedTabs.length; i++){
this._dataService.updateTabsOrder(this.rearrangedTabs[i].id, i+1)
.subscribe((response) => {
console.log('b');
})
}
}
Услуги:
updateTabsOrder(tab_id, order_index){
return this.http.put(this.base_url + 'manufacturer_tabs/' + tab_id, {
order_index: order_index
})
.map(data => {
return data;
});
}
/ * JSON * /
[
{
"order_index": 2,
"tab_name": "tab 1",
"createdAt": "2018-04-24T12:46:41.890Z",
"updatedAt": "2018-04-24T14:38:05.138Z",
"manufacturers": "5acf62cf080d700c2209d40b",
"id": "5adf2731366e1a0e4085a4f3"
},
{
"order_index": 1,
"tab_name": "tab 2",
"createdAt": "2018-04-24T12:46:47.985Z",
"updatedAt": "2018-04-24T14:09:15.919Z",
"manufacturers": "5acf62cf080d700c2209d40b",
"id": "5adf2737366e1a0e4085a4f4"
}
]
Вышеприведенный код выводится как:
b
a
b
Вместо
a
a
b
b