如何实现HTTP在角2
问题描述:
长轮询我有如下的使用情况:如何实现HTTP在角2
- 用户选择的视频被上传到自己的个人资料。
- Angular向node.js服务器发送请求,该请求返回Amazon S3预先签名的URL。
- 浏览器'直接'将文件上传到S3。
- Elastictranscoder开始转码视频。
- AWS-SNS遵循https端点来通知node.js转码完成的后端。
如何反映这个事实,视频现在在Angular方面可用?
我正在做类似于下面的事情,它工作正常,但我不确定是否正确处理了错误情况?我应该做更多的事情吗?
startLp(): Observable<any> {
return this.http
.get("/getvideostatus?video-id=blah", { headers: this.headers })
.map(res => {
return res.json();
})
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
这只是一个普通的http请求,唯一的区别是服务器没有立即返回响应。
这是否构成一个有效的http长轮询?
答
这是我落得这样做:
public startLp(): Observable<any> {
let that = this;
let doLp = function(): Observable<any> {
return that.http
.get("/getvideostatus?video-id=blah", { headers: that.headers })
.map(res => {
return res.json().data
})
.catch((error: any) => {
return doLp();
});
};
return doLp();
}
+2
这实际上是LP吗?它看起来正常http请求给我。你如何做到这样http请求保持打开所需的时间,并听取更改? –
我使用SignalR为 –
你为什么不干脆用socket.io?长期投票是笨拙的。 –
@VolodymyrBilyachat,我使用node.js – kmansoor