GET有時我在處理請求時遇到一些問題Angular。我正在使用ReplaySubject并返回,Observable但有時在應(yīng)用程序的重新加載中,get請求正在工作,但它正在獲取null數(shù)據(jù)或消息No content,盡管有數(shù)據(jù)。經(jīng)過 3-4 次嘗試后,它會顯示數(shù)據(jù)。該請求get有效,但有時為空,有時給我數(shù)據(jù)。有人可以幫我解決這個問題嗎?如果有可能給出任何使用ReplaySubject或類似的想法,因?yàn)槲倚枰看沃匦录虞d頁面以獲取新數(shù)據(jù)。這是我的Frontend部分。export class ModelDataService { public baseUrl = environment.backend; private data = new ReplaySubject<any>(1); public userID = this.authService.userID; constructor(private http: HttpClient, private authService: AuthService) { } public getJSON() { return this.http.get(`${this.baseUrl}/data/${this.userID}`).subscribe(res => this.data.next(res)); } public dataModel(): Observable<any> { return this.data.asObservable(); } public setData(data: Model) { const api = `${this.baseUrl}/data`; const user_id = this.authService.userID; this.http.post(api, data, { headers: {user_id} }).subscribe(res => this.data.next(res)); } public updateDate(id: string, dataModel: Model) { const api = `${this.baseUrl}/data/${id}`; return this.http.put(api, dataModel).subscribe(res => res); }}這是component我得到的數(shù)據(jù) ngOnInit() { this.authService.getUserProfile(this.userID).subscribe((res) => { this.currentUser = res.msg; }); this.modelDataService.getJSON(); this.model$ = this.modelDataService.dataModel(); this.model$.subscribe((test) => { this.model = test; }); this.model$.subscribe((test) => { this.model = test; }); }這就是這backend部分。const ModelData = require("../models/data");async show(req, res) {let modelData;await ModelData.findOne({user: req.params.id}, (error, user) => { modelData = user;}); if (!modelData) { res.status(204).json({error: "No Data"}); return; }return res.status(200).send(modelData);},routes.get("/data/:id", ModelDataController.show);routes.post("/data", ModelDataController.store);routes.put("/data/:id", ModelDataController.update);
為什么 NodeJS 中 Angular 的 GET 請求有時有數(shù)據(jù)卻為 null
慕容708150
2023-07-14 15:45:15