Javascript angular2承诺问题
我在从API捕获错误时遇到了问题。正如您在下面看到的,我在单击delete按钮时调用deletedJob方法,该函数调用jobService的“deleteJob”函数 组件中Javascript angular2承诺问题,javascript,angular,promise,Javascript,Angular,Promise,我在从API捕获错误时遇到了问题。正如您在下面看到的,我在单击delete按钮时调用deletedJob方法,该函数调用jobService的“deleteJob”函数 组件中 deleteJob(id) { this.jobService.deleteJob(id, this.shopId) .then(res => { console.log('response'); // Displaying the success me
deleteJob(id) {
this.jobService.deleteJob(id, this.shopId)
.then(res => {
console.log('response');
// Displaying the success message
})
.catch(this.handleError)
}
});
}
jobService组件中的deletedJob函数
deleteJob(id: number, shopId: number) {
let url = this.jobsUrl() + `/${id}.json`;
return this.http
.delete(url)
.toPromise()
.then(res => res.json().response)
.catch(this.handleError);
}
上述函数的handleError函数
handleError(error: any) {
return Promise.reject(error.message || error);
}
所以,当通过handleError函数拒绝该错误时,我在控制台“TypeError”中得到一个错误:您在需要流的地方提供了“undefined”。您可以提供一个可观察的、承诺的、数组的或可观察的。“您到底在这里做什么?res.json().response在组件一中,可能需要返回承诺。@masterfan您可以假设“res.json()”返回一个对象,即{response:'aa'}。问题是,当我们调用deleteJob方法时,服务器会给出一个错误,响应会转到服务的catch块。在调用
handleError
时,您没有返回任何参数?您到底在这里做什么?res.json().response在组件一中,可能需要返回承诺。@masterfan您可以假设“res.json()”返回一个对象,即{response:'aa'}。问题是,当我们调用deleteJob方法时,服务器会给出一个错误,响应会转到服务的catch块。在调用handleError
时,您没有返回任何参数吗?