我想转换以下函数,以便它不再进行http调用。相反,该函数应返回与404错误时相同的结果:
private getMessages(fileName: string, name: string,
id: number): Promise<Message[]> {
let result = this.http
.get(`${FILE_BASE_URL}/${fileName}`)
.toPromise()
.then(response => response.json().array as Message[])
.catch(response => {
if (response.status === 404) {
console.error(" response.status === 404 ");
return []
} else {
throw response
}
})
return result;
}
我正在学习打字稿中的Promise。有人可以帮忙吗?
答案 0 :(得分:1)
404情况似乎导致了一个空数组的承诺,所以为了获得相同的结果,你只需返回一个空数组的promise:
+----+----+--------------+----+----+----+
|col0|col1|col2 |col3|col4|col5|
+----+----+--------------+----+----+----+
|null|null|Test Profile 1|A |123 |null|
|null|null|Test Profile 2|B |null|null|
|null|null|Test Profile 3|C |null|345 |
|null|null|Test Profile 4|D |null|null|
|null|null|Test Profile 5|E |null|null|
|null|null|Test Profile 6|F |null|null|
+----+----+--------------+----+----+----+