【问题标题】:after API PUT call and then API GET call, component is not getting updated data在 API PUT 调用和 API GET 调用之后,组件没有获取更新的数据
【发布时间】:2019-09-23 16:39:25
【问题描述】:

我正在执行 API PUT 调用,然后我想加载更新的数据,所以我正在同一个组件上执行 API GET 调用(先 PUT 然后 GET)。但它没有显示我从 PUT 调用中完成的更新数据。我必须重新加载页面才能看到更新的数据。我正在为 API 使用 JSON-SERVER。

【问题讨论】:

  • 只需 make get oninit() 这样您就可以显示 DB 中的内容,然后在 put make ngoninit() ;)
  • 这个我也试过了。起初我做了 API PUT 调用,然后也调用了 onInit()。但什么都没有改变。
  • 所以你需要在这里创建stackBlits或发布所有代码
  • 好吧,不能共享代码或堆栈闪电。
  • 只有在 PUT 成功后才会调用 GET 吗?注意 HTTP 调用的异步特性

标签: angular typescript api


【解决方案1】:

由于问题中没有提供代码,我猜你在 PUT 完成后没有调用 GET。

如果你写

PUT CALL
GET CALL

它永远不会起作用。如果你写

PUT CALL
setTimeout(() => {
    GET CALL
}, 200);

不保证您会获得更新的数据。正确的调用方式是

PUT CALL.subscribe(() => {
    GET CALL
});

保证PUT完成后会调用GET。

【讨论】:

  • 是的,这是我的错误。我在调用 GET 时没有处理 PUT 调用的响应。谢谢!
猜你喜欢
  • 2018-11-17
  • 2021-02-13
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
相关资源
最近更新 更多