【发布时间】:2018-06-19 17:52:39
【问题描述】:
我在通过中间服务获取承诺数据时遇到问题。
有组件、中间服务和http服务。
我的组件调用中间服务,然后通过中间服务调用到http服务。
Http 服务返回承诺数据,我认为我无法在中间服务中处理它,因此没有任何内容返回到我的组件。
当我直接从组件调用 Http 服务时,它运行良好,我在 UI 上看到了数据。
任何帮助将不胜感激。
组件代码。 这是从中间服务调用方法的方法
public getDriversAndCars(){
let promise = new Promise((resolve, reject) => {
this.vehicleService.getVehicle()
.then(
res => {
console.log("length"+this.listOfVehicles.length)
this.getDriver();
resolve();
},
msg => { // Error
reject(msg);
}
);
});
return promise;
}
来自中间服务的代码
public getVehicle(): Promise<Vehicle[]> {
this.associationservice.getVehicle(25, this.currentPageIndex, this.searchText)
.then(
res => {
this.apimodel = res
console.log("data" + this.listOfVehicles[0].assignedTo)
},
)
return Promise.resolve(this.convertToVehicleModels(this.apimodel));
}
来自 Http 服务的代码
getVehicle(pageNumber: number,pageIndex: number, searchKeyword: string): Promise<VehicleResourceApiModel> {
if (pageIndex !== 0 && searchKeyword.trim() !== '' && pageNumber !== 0) {
// tslint:disable-next-line:max-line-length
return this.http.get<VehicleResourceApiModel>(api).toPromise()
.then(response => {
return response
})
.catch(err => err);
【问题讨论】:
标签: angular