用空Promise替换http调用

时间:2018-06-10 15:39:39

标签: typescript

我想转换以下函数,以便它不再进行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。有人可以帮忙吗?

1 个答案:

答案 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|
+----+----+--------------+----+----+----+