gpt4 book ai didi

javascript - 如何从服务器获取数据?使用区间运算符

转载 作者:行者123 更新时间:2023-12-01 02:37:20 24 4
gpt4 key购买 nike

我从远程服务器获取数据。 CORS 已配置。我使用 RXJS 库中的 Interval() 运算符。

组件:

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
import 'rxjs/add/operator/switchMap';

private getUserTasks(userId): void {
Observable
.interval(5000)
.switchMap(() => this.tasksService.getUserTasks(userId))
.subscribe(
data => {
this.userTasks = JSON.parse(data);
console.log('userTasks', this.userTasks);
}
)
};

服务返回可观察对象:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';

@Injectable()
export class TasksService {
constructor(private http: HttpClient) { };
getUserTasks(userId): Observable<any> {
return this.http.get('http://blabla.com/app_tasks/user_tasks?user_id=' + userId);
};
}

但是用户进入页面后,他等待了5秒(并且看着白屏)。我需要在页面加载后立即发送请求。然后每 5 秒重复一次请求

最佳答案

您可以使用startWith让序列发出初始值

private getUserTasks(userId): void {
Observable
.interval(5000)
.startWith(0)
.switchMap(() => this.tasksService.getUserTasks(userId))
.subscribe(data => {
this.userTasks = JSON.parse(data);
console.log('userTasks', this.userTasks);
})
};

关于javascript - 如何从服务器获取数据?使用区间运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47802752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com