gpt4 book ai didi

Angular 2 - 在服务中设置超时

转载 作者:行者123 更新时间:2023-12-04 02:05:04 27 4
gpt4 key购买 nike

出于测试目的,我想在我的 Angular 2 项目的服务中创建一个延迟。更具体地说,我想要

this.myIatreioService.getIatreia()

延迟1秒。我的服务如下:

@Injectable()
export class IatreioService {
private headers = new Headers();

constructor(private http: Http) {
let token = localStorage.getItem('token');
if (token) {
this.headers = new Headers({ 'Authorization': 'Bearer ' + token });
}
}

getIatreia(): Observable<Iatreio[]> {
return this.http
.get('http://localhost:3000/iatreia', { headers: this.headers })
.map(response => response.json() as Iatreio[]);
}

} // end of Service

我已经尝试实现 setTimeout 函数,但它不起作用:

getIatreia(): Observable<Iatreio[]> {
setTimeout(() => {
return this.http
.get('http://localhost:3000/iatreia', { headers: this.headers })
.map(response => response.json() as Iatreio[]);
}, 1000);
}

我的问题有解决方案吗?如果没有,我可以将 setTimeout() 放在组件或服务器中吗?预先感谢您的帮助!

最佳答案

您可以简单地使用 delay operator :

return this.http
.get('http://localhost:3000/iatreia', { headers: this.headers })
.map(response => response.json() as Iatreio[])
.delay(1000);

关于Angular 2 - 在服务中设置超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096426/

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