У меня проблема в том, как я создаю свой код.
Я делаю внешний интерфейс, который обращается к Spotify WebPlaybackSDK для воспроизведения музыки через мой браузер. Способ использования этого — подключиться к sdk из моего внешнего интерфейса, а затем вызвать API из Spotify, который говорит ему воспроизвести песню с устройства, используя токен доступа, идентификатор устройства и идентификатор дорожки.
Моя проблема в том, что у меня нет синхронного способа сохранить идентификатор устройства, который проигрыватель Spotify должен вернуть мне, потому что это делается через прослушиватель событий. Ниже приведен код метода ngOnInit().
(async() => {
const { Player } = await this.playbackService.loadPlaybackPlayer();
const sdk = new Player({
name: "Web Playback SDK",
volume: 1.0,
getOAuthToken: callback => { callback(access_token); }
});
this.playbackService.connectPlayer(sdk);
sdk.addListener('ready', ({device_id}) => {
})
})();
У меня есть функция playTrack() внутри моей службы воспроизведения, для которой требуется device_id, но я не знаю, как сохранить ее из прослушивателя событий. Мне нужно сохранить его в своем приложении, чтобы я мог вызывать метод playTrack(), когда захочу.