2015-11-23 58 views
0

我有一個解析雲代碼功能,將作爲我的後臺工作。現在我正處於調試階段。該函數不會拋出錯誤,也不會執行它應該做的事情。標題爲「backgroundJob」的函數應該通過所有已創建的「組」對象。每個「Group」對象都有一個「Event」對象的數組,所有你必須知道的關於「Event」對象的是它有一個名爲「date」的日期屬性。解析雲代碼 - Notifcation不工作和不刪除對象

該函數應該檢查每個組對象的所有事件,並且如果事件的日期與當前時間相同,則該函數應該向除該組外的所有「用戶」發送通知,然後刪除該事件。此時功能是如果與當前時間相同並且未通知羣組成員,則不刪除該事件。

我的功能如下。

Parse.Cloud.define("backgroundJob", function(request, response) { 
Parse.Cloud.useMasterKey(); 

var moments = require("cloud/moment.js"); 
moments().format(); 

var _ = require('cloud/underscore.js'); 

// Get the actual time, for use in non testing 
// var now = moments(); 

// For testing edit time in() 
var now = moments("2015-23-11 19:30", "YYYY-MM-DD HH:mm"); 

var out = now; 

console.log(out); 

var groupObject = Parse.Object.extend("Group"); 
var query = new Parse.Query(groupObject); 

var eventObject = Parse.Object.extend("Event"); 

query.find().then(function(groups) { 
    var promise = Parse.Promise.as(); 
    var groupArray = groups; 
    for (var i = 0; i < groupArray.length; i++) { 
     promise = promise.then(function() { 
      var count = 0; 
      var eventArray = groupArray[i].get("Events"); 
      for (count = 0; count < eventArray.length; count++) { 
       if (now == eventArray[count].get('date')) { 

        var curEvent = eventArray[count]; 
        eventArray[count].destory(); 

        var relationc = result.get("created"); 

        var createdq = relationc.query(); 

        var relationj = result.get("created"); 

        var joinedq = relationj.query(); 

        var partOnee = curEvent.get("name"); 
        var outString = partOnee.concat(" is now"); 

        Parse.Push.send({ 
         where : createdq, 
         data : { 
          alert : outString 
         } 
        }).then(function() { 
         response.success(); 
        }, function(error) { 
         response.error(error); 
        }); 

        Parse.Push.send({ 
         where : joinedq, 
         data : { 
          alert : outString 
         } 
        }).then(function() { 
         response.success(); 
        }, function(error) { 
         response.error(error); 
        }); 

        var e = eventArray[count]; 

        var destroyp = Parse.Promise.as(); 

        destroyp = promise.then(function() { 
         return e.destroy(); 
        }, function(error) { 
         response.error(error); 
        }); 
       } 
      } 
     }); 
    } 
}).then(function() { 
    response.success() 
}, function(error) { 
    response.error(error); 
}); 
}); 

謝謝。

在代碼中有兩個獨立的關係給用戶「創建」和「加入」,這就是爲什麼在代碼中我有一個創建的查詢和反應查詢。

回答

0

您的代碼中存在拼寫錯誤。也許這不是問題的原因,但無論如何,請檢查它。

eventArray[count].destory(); 

似乎很傻,可是,誰知道......

+0

我不認爲這是一個錯字,因爲我設置'VAR e'等於'eventArray [統計]'ADN然後我打電話摧毀在'e'上如下'e.destroy();'。但無論如何,我會嘗試,謝謝。 – brettf

+0

試過了,沒有工作。 – brettf