在变量中保存DZ.api响应

时间:2016-11-17 13:38:24

标签: javascript angular deezer

使用下面的代码我可以在函数(响应)部分获得console.log响应,但不能在第二个console.log中获得。当使用dzSearch函数时,如何从DZ.api中提取该字符串并将其提取到child / any变量中?

@Injectable()
export class DeezerService{
  child:any;

  constructor(){
    new DZ.init({
      appId  : 'APPID',
      channelUrl : 'https://localhost:4200/src/channel.html'
    });
  }

  dzSearch(){
    console.log('Testing dzSearch() init');
    this.child = DZ.api('/album/12720342/tracks', function(response){
      console.log(response.data[0].title)
      return response.data[0].title;
      });

    console.log(this.child);
  }
}

1 个答案:

答案 0 :(得分:0)

请考虑在dzSearch函数中使用回调。

这是我的代码:

    searchTrack(query, callback) {
        let result = {};
        DZ.api('/search?q=' + query, (response) => {
            result = this.getFormattedTrack(response);
            if (typeof callback === "function") {
                callback(result);
            }
        });
    }