Angular里用Observable订阅后数据不更新是怎么回事?
我在Angular组件里用HttpClient请求数据,返回的是Observable,subscribe之后第一次能拿到数据,但后续服务端数据变了,页面却没更新。是不是漏了什么操作?
我试过用async管道,也手动subscribe了,都不行。难道Observable不会自动推送新值吗?下面是我用React写的类似逻辑(虽然现在用的是Angular,但逻辑应该差不多):
useEffect(() => {
const fetchData = async () => {
const res = await fetch('/api/data');
const data = await res.json();
setData(data);
};
fetchData();
}, []);
1. 轮询方案:
2. 手动触发重载:
Observable不是魔法,服务端不推新数据它就不会自动更新,和React的useEffect空依赖数组一个道理。