2015-04-20 64 views
3

我正在使用解析雲代碼構建與朋友關係的應用程序。解析雲代碼回調不起作用

當Alice向Bob發送好友請求,它是71 類型的通知當Bob回答他發送類型8.

的通知在服務器中,當型8通知被髮送,第一一些友誼關係正在進行中。它們是:從兩個用戶中移除「潛在的朋友列表」,並添加到「朋友列表」中。

之後,類型71的通知應更改爲類型1通知。

由於某些原因,我一直在努力工作24小時。我不能一個接一個地執行這兩個函數:第二個函數從不執行。這裏是我的代碼

Parse.Cloud.afterSave("Notification", function(request, response) { 

Parse.Cloud.useMasterKey(); 
var downQuery = new Parse.Query("Notification"); 

var namnamA = request.object.get('nameA'); 
var namnamB = request.object.get('nameB'); 
var tytype = request.object.get('type'); 
var alice = Parse.User.current(); 
if (tytype === 8){ 

var bobQuery = new Parse.Query(Parse.User); 
bobQuery.equalTo("username", namnamB); 
bobQuery.first().then(function(bob) { 
    var alicesRelation = alice.relation("friendsList"); 
    var alicesPotRelation = alice.relation("potFriendsList"); 
    var bobsRelation = bob.relation("friendsList"); 
    var bobsPotRelation = bob.relation("potFriendsList"); 
    alicesPotRelation.remove(bob); 
    alicesRelation.add(bob); 
    bobsPotRelation.remove(alice); 
    bobsRelation.add(alice);   

    return Parse.Object.saveAll([alice, bob]); 


}).then(function() { 

    downQuery.equalTo('nameA', namnamB); 
    downQuery.equalTo('nameB', namnamA); 
    downQuery.equalTo('type', 71); 
    return downQuery.find(); 

}).then(function(notizz) { 

    notizz.set('type', 1); 
    return Parse.Object.saveAll([notizz]); 

}).then(function() { 
    console.log("success " + arguments); 
    response.success(arguments);  

}), function(error) { 
    console.log("error " + error.message); 
    response.error(error); 

} 
} 
}); 

任何幫助將大大提高我的電腦的預期壽命。謝謝。

+0

作爲另一個說明,我相信,這將導致無限循環,一旦它到達'返回Parse.Object.saveAll([notizz]);'。這是保存通知,並且我們已經在afterSave方法的通知中。 – papergodzilla

回答