2016-11-21 52 views
0

我正在將quickblox sdk集成到ionic 2應用程序中。 我不能從下面的retrieveChatDialogs函數獲取json對象,但作爲響應,我收到服務器spi響應,但變量交談 scope在控制檯日誌中顯示空白對象。 我是新來的打字稿2和角2請幫助。Ionic 2和角度2變量的範圍行爲不起作用

export class Quickblox { 
public chats: any; dialogs: any = {}; 
    retrieveChatDialogs() { 
     var _that = this; 
     _that.chats = _that.getdialoglist(); 
     console.log(_that.chats); 
    } 
    getdialoglist(){ 
     var chatdialog:any; 
     chatdialog = QB.chat.dialog.list(null, function (err, resDialogs) { 
      if (err) { 
      console.log(err); 
      chatdialog = {}; 
      } else { 
      chatdialog = resDialogs.items; 
      } 
     }); 
      console.log(chatdialog); 
     return chatdialog; 
    } 

} 
+0

功能是異步,所以'的console.log(chatdialog);'將打印空白,當然。閱讀[**此**](http://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron)topic獲取更多信息。 – developer033

+0

感謝這幫助我! – cakedev

回答

0

嘗試這種情況:

retrieveChatDialogs() { 
    var _that = this; 
    _that.chats = _that.getdialoglist(function(){ 
     console.log(_that.chats); 
    }); 
}