Я конвертирую свое приложение Angular 2 (Http) в Angular 7 (HttpClient). Я не понимаю, почему это так работает.мой код
service.ts
return this.http.get(serviceUrl).toPromise().then((data:any) => {
return data;
})
component.ts
this.myService.getList()
.then((rmanFmvRulesDefList: any) => {
$.unblockUI();
console.log('list',rmanFmvRulesDefList);
this.datasource = rmanFmvRulesDefList.content;
this.rmanFmvRulesDefList = rmanFmvRulesDefList.content;
if (this.rmanFmvRulesDefList.length > 0) {
for (let i = 0; i < rmanFmvRulesDefList.content.length; i++) {
this.rmanFmvRulesDefList1.push({
'fmvRuleName': rmanFmvRulesDefList.content[i].fmvRuleName,
'fmvCategory': rmanFmvRulesDefList.content[i].fmvCategory
})
}
/* for (let i = 0; i < rmanFmvRulesDefList.content.length; i++) {
this.rmanFmvRulesDefList1.push({
'fmvRuleName': rmanFmvRulesDefList.content[i].fmvRuleName,
'fmvCategory': rmanFmvRulesDefList.content[i].fmvCategory,
'fmvType': rmanFmvRulesDefList.content[i].fmvType,
'fmvRuleStatus': rmanFmvRulesDefList.content[i].fmvRuleStatus,
'fmvPrice': rmanFmvRulesDefList.content[i].fmvPrice ,
'min': formatNumber(rmanFmvRulesDefList.content[i].min , '1.2-2'),
'median': formatNumber(rmanFmvRulesDefList.content[i].median , '1.2-2'),
'max': formatNumber(rmanFmvRulesDefList.content[i].max , '1.2-2')
})
}*/
}
console.log(this.rmanFmvRulesDefList1, 'rman fm list')
}).catch((err: any) => {
console.log('erre block')
this.growlMsgs=[{severity:'error', summary:'Error Message', detail:'Error occured while getting data!!'}];
$.unblockUI();
});
из моего сервиса Я получаю 100 элементов списка
Проблема: мой успех (затем), ошибка (затем)вызов блока за один раз в таком сценарии
Если я подготовлю массив (this.rmanFmvRulesDefList1) с двумя свойствами, он будет работать нормально
2.Но если я подготовлю массив с 8 свойствами, он будет идти в блоке catch и выполню код
Пожалуйста, помогите мне, что здесь произошло