使用 GET 请求将数据传递给组件

Passing data to component using GET request

每次向组件传递新的 data/URL 并使用 NgFor 对其进行循环时,如何将服务中检索到的数据传递回组件?我想使用承诺而不是可观察的。

澄清一下:Service(A) 需要在每次数据更改时将其对象传递给 Component(B),然后使用 NgFor 对其进行循环。提前致谢

这是我的代码:

服务(A)

 receiveEvent(eventId){
   return fetch(eventId).then(res => res.json())
   .then((data:any) => {
     console.log(data);
 });

接收组件(B)

 requestEvent(requestUrl){
  this._clientService.receiveEvent(requestUrl)
  }

您可以 return 在 finally 回调中承诺和解决:

服务

fetch(URL: string): Promise < any > {
    return new Promise(resolve => {
        this.http.get(URL)
            .subscribe(response => {
                console.debug("response = %O", response);
                // set data locally
                this.myVariable = data[0]["myVarible"];
            }, error => {
                console.error(error);
            }, () => {  // finally
                resolve();
            })
    });
}

调用组件构造函数

this.myService.fetch(URL).then(() => {
    console.log(this.myService.myVariable);
});

除非您使用的是 websockets,否则您将不得不频繁地轮询数据库以获取新数据;将调用组件构造函数的提取包装在 setInterval