2013-02-21 2 views
0

Это fiddle показывает более или менее то, что я пытаюсь сделать.Пропустить объект результатов запроса для отдельной функции

Я запрашиваю некоторые результаты из базы данных Parse.com. Результаты возвращаются в обратном вызове.

Может ли кто-нибудь сказать мне лучший способ работать с ними в функции mainView()? Я хотел бы, чтобы все запросы были отделены от логики того, как они отображаются. Я попробовал несколько разных подходов, но не смог заставить его работать.

ответ

2

Просто храните ссылку на this вне обратного вызова.

var userInterface = { 


    newQuery: function() { 
     var that=this; //store a reference to "this" 

     Query = Parse.Object.extend("Test"); 
     query = new Parse.Query(Query); 

     query.descending("createdAt");  
     query.equalTo("column1", "a"); 

     query.find({ 
      success:function(results){ 

       that.mainView(results); //that points to the userInterface object 

      }, 
      error:function(error){ 

      } 


     }); 
    }, 



    mainView: function(res){ 

     console.log(res); 

    }, 

    init: function() { 
     this.newQuery();   
    } 

}; 
userInterface.init(); 

http://jsfiddle.net/4XsLq/8/

Смежные вопросы