停止不使用取消订阅的有角HTTP请求
问题描述:
我正在创建音乐播放器,但当用户跳过一首歌曲时,它应该停止歌曲的当前下载并前进到下一个歌曲。我正在使用解析为承诺的异步角度http函数。我不能使用订阅()或unsubcribe(),因为这只会破坏功能停止不使用取消订阅的有角HTTP请求
这是我的代码:
private async downloadSong(track: Track): Promise<string> {
if(!isNullOrUndefined(this.request))
console.log(this.request) // Returns: Response {_body: Blob, status: 200, ok: true, statusText: "OK", headers: Headers, …}
this._downloadingSong = true;
this.request = await this.http.get(track.source, {responseType: ResponseContentType.Blob}).toPromise();
this._downloadingSong = false;
return URL.createObjectURL(this.request.blob());
}
你是什么意思*“...停止当前下载..”*?你的意思是在一个正在播放的源代码中?或者你是否意味着当方法再次被激发时取消当前对“下一个曲目”的请求?对于后者,即“快速点击”导致'this.http.get(track.source,....'被取消,如果在响应之前出现另一个“点击”事件。 –
如果轨道已经停止跳过一个按钮上的'点击' –