2016-11-21 4 views
0

Я интегрирую quickblox sdk в ionic 2 app. Я не могу получить объект json из функции retrieveChatDialogs ниже, но в ответ я получаю ответ сервера spi, но переменная чаты область печати пустого объекта в консольном журнале. Я новичок в машинописи 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);' будет печатает пустой, конечно. Прочитайте [** this **] (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); 
    }); 
} 
Смежные вопросы