0
我正在創建音樂播放器,但當用戶跳過一首歌曲時,它應該停止歌曲的當前下載並前進到下一個歌曲。我正在使用解析爲承諾的異步角度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,....'被取消,如果在響應之前出現另一個「點擊」事件。 –
如果軌道已經停止跳過一個按鈕上的'點擊' –