Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 当源更新时,角度2可观察到的变化_Angular_Asynchronous_Real Time_Observable_Http Get - Fatal编程技术网

Angular 当源更新时,角度2可观察到的变化

Angular 当源更新时,角度2可观察到的变化,angular,asynchronous,real-time,observable,http-get,Angular,Asynchronous,Real Time,Observable,Http Get,现在,我正试图基于本文编写一个rss阅读器: 正如我看到的,提要来自以下内容: return this.http.get(this.rssToJsonServiceBaseUrl + url) .map(this.extractFeeds) .catch(this.handleError); 可以实时绑定吗?我的意思是,如果一个新项目/新闻发布到提要,那么我使用结果的组件将自动更新。。。 我之所以这么想,是因为angularfire2能够进行这

现在,我正试图基于本文编写一个rss阅读器:

正如我看到的,提要来自以下内容:

return this.http.get(this.rssToJsonServiceBaseUrl + url)
            .map(this.extractFeeds)
            .catch(this.handleError);
可以实时绑定吗?我的意思是,如果一个新项目/新闻发布到提要,那么我使用结果的组件将自动更新。。。 我之所以这么想,是因为angularfire2能够进行这种实时绑定,所以当它背后的数据库被更新/修改时,我的视图只是刷新,而没有任何导航/浏览器刷新

谢谢


(正如我看到的,当我在模板中使用async管道中的observable本身时,有一个选项……不幸的是,我在Angular2中找不到关于observable本身的合适文章……人们总是将其与我不知道的其他东西进行比较……)

虽然Http不是双向通道,但您可以定期拉取,这样的事情应该很容易:

const FETCH_INTERVAL=30000;//每30秒拉一次
类MyService{
公共myFeeds:可观察
构造函数(专用http:http){
this.myFeeds=Observable.timer(0,获取间隔)
.switchMap(()=>this.http.get(this.rssToJsonServiceBaseUrl+url))
.map(this.extractFeeds.bind(this))
.catch(这个.把手错误.绑定(这个))
.share();//共享以避免在每个订阅上重新创建可观察的
}
私有提要(resp:Response):提要[]{
//做一些事情(检查重复件等)
回馈;
}
私有句柄错误(err){
//做事
}
}

http是双向的吗?不。所以你不能,对不起。。。。(你可以定期拉)嗯,在这种情况下,我应该使用什么有效的解决方案?使用计时器并每X分钟触发一次拉动似乎太简单了。是的,拉动多次是完全可行的,但得到实时通知却不行。