问题描述
我偶然发现了HttpClient.get上一个非常奇怪的行为。我试图自己找出一个永恒的方法,但是对我来说这没有意义。 我正在请求一组非常复杂的对象,但是在客户端缺少一些属性,这些属性是由服务器发送的,甚至在Chrome DevTools的“网络”标签中也可见。
缺少的值出现在用户=> jobApplication [] =>更新[]上。
async getRelevantUsers(showError = true): Promise<User[]> {
const reply = await this.http.get<any>((isDevMode() ? serverConstants.devServerUrl : serverConstants.prodServerUrl) + 'user/relevant',this.requestOptions).pipe(catchError((err,caught) => {
console.log(err);
return new Promise(resolve => {
resolve(undefined);
});
})).toPromise();
if (reply) {
console.log(reply);
return reply;
}
return undefined;
}
在Chrome DevTools的“网络”选项卡中,列表中特定用户的响应(邮递员显示相同的结果):
下图从console.log(...)
的角度显示了我在此处发布的方法中同一用户的响应。为什么数组updates
中只有一个元素,而不是服务器发送的多个元素?它不会被我自己操纵,问题出在哪里?
Angular仅附加ID为19的最后更新?为什么
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)