0

通过 promise 或 observable 生成的请求 api 有时响应即将到来,但请求 api 调用未在 chrome 网络面板中触发。响应也得到错误的例子:this.getTimeCollections().then(data=>{console.log(data)});

//在service.ts中

getTimeCollections():承诺{

    const url = `${this.publicUrl}/time_collections`;

    return this.httpClient.get(url).toPromise();

}

这里第一次它返回正确的数据作为响应,但是如果我们再次调用相同的函数,它会返回我们检查控制台打印但请求未显示网络面板和响应也未更新的数据,它返回以前的数据。在这里,如果我们删除 matTab 选择器,我在此模板中使用了 matTabmodule,那么它工作正常。

4

1 回答 1

0

您需要订阅 http observable 才能执行:

const url = `${this.publicUrl}/time_collections`;
const response$ = this.httpClient.get(url);
response$.subscribe(response=>console.log(response));
于 2021-03-16T19:02:57.553 回答