有没有办法在刷新后存储数据
Is there a way to store data after refresh
我是 rxjs 的新手,正在尝试弄清楚如何让 Observables 在切换 and/or 重新加载页面时保持数据。
我可以保持在同一页面上,并且缓存服务可以正常工作。但是当我转到 网络应用程序中的另一个页面 (这不是单页网络应用程序)时,数据被刷新并且缓存服务为空。 除了使用localStorage或cookies存储数据,还有什么办法吗?
getToken(id: number): Observable<TempTokens> {
if (!this._token) {
const url = `${this.tokenUrl}/${id}`;
this._token = this.http.get<TempTokens>(url).pipe(
map((res: TempTokens) => res),
publishReplay(1),
refCount(),
);
}
return this._token;
}
我的目标是不将数据存储在浏览器中,这样我就可以防止用户修改存储。
编辑以强调不是本地存储,也不是单页网络应用程序
sessionStorage 将在浏览器刷新后继续存在,而 localStarage 将在关闭浏览器并重新打开后继续存在。
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
使用 localStorage 和 SessionStorage 的替代方法是缓存 API。
虽然用户可以从缓存中删除,但他们不能修改其中存储的数据。
我是 rxjs 的新手,正在尝试弄清楚如何让 Observables 在切换 and/or 重新加载页面时保持数据。
我可以保持在同一页面上,并且缓存服务可以正常工作。但是当我转到 网络应用程序中的另一个页面 (这不是单页网络应用程序)时,数据被刷新并且缓存服务为空。 除了使用localStorage或cookies存储数据,还有什么办法吗?
getToken(id: number): Observable<TempTokens> {
if (!this._token) {
const url = `${this.tokenUrl}/${id}`;
this._token = this.http.get<TempTokens>(url).pipe(
map((res: TempTokens) => res),
publishReplay(1),
refCount(),
);
}
return this._token;
}
我的目标是不将数据存储在浏览器中,这样我就可以防止用户修改存储。
编辑以强调不是本地存储,也不是单页网络应用程序
sessionStorage 将在浏览器刷新后继续存在,而 localStarage 将在关闭浏览器并重新打开后继续存在。
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
使用 localStorage 和 SessionStorage 的替代方法是缓存 API。
虽然用户可以从缓存中删除,但他们不能修改其中存储的数据。