我正在创建一个音乐播放器但是当用户跳过一首歌时,它应该停止当前下载的歌曲并继续前进到下一首歌曲。我正在使用异步角度http函数,它可以解析为promise。我不能使用subscribe()或unsubcribe(),因为这只会破坏功能
这是我的代码:
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());
}