Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析:云代码变量Declartaion_Javascript_Parse Platform_Parse Cloud Code - Fatal编程技术网

Javascript 解析:云代码变量Declartaion

Javascript 解析:云代码变量Declartaion,javascript,parse-platform,parse-cloud-code,Javascript,Parse Platform,Parse Cloud Code,我不确定这里出了什么问题/我如何解决它 Parse.Cloud.job("expireTimes", function(request, response) { var currentTime = new Date().getTime() / 1000; var Wait = Parse.Object.extend("Wait"); Parse.Object.registerSubclass("Wait", Wait); var query = new Parse.Query(Wait); qu

我不确定这里出了什么问题/我如何解决它

Parse.Cloud.job("expireTimes", function(request, response) {
var currentTime = new Date().getTime() / 1000;
var Wait = Parse.Object.extend("Wait");
Parse.Object.registerSubclass("Wait", Wait);
var query = new Parse.Query(Wait);
query.select(["times", "timestamp"]);
query.find({
    success: function(results) {
        for (var i = 0; i < timestamps.length; i++) {
            if (currentTime >= timestamps[i] + 60) {
                // Delete old wait times
                timestamps.splice(i, 1);
                times.splice(i, 1);
                i--;
            } else {
                break;
            }
        };
        response.success("Got " + results.length + " Query results: " + results[0].objectId);

    },
    error: function(error) {
        response.error("Request failed with response code");
        console.error("Request failed with response code ");
    }
});
});
Parse.Cloud.job(“过期时间”,函数(请求,响应){
var currentTime=new Date().getTime()/1000;
var Wait=Parse.Object.extend(“Wait”);
Parse.Object.registerSubclass(“Wait”,Wait);
var query=newparse.query(等待);
查询。选择([“时间”,“时间戳]);
查询.查找({
成功:功能(结果){
for(var i=0;i=时间戳[i]+60){
//删除旧的等待时间
时间戳。拼接(i,1);
拼接次数(i,1);
我--;
}否则{
打破
}
};
response.success(“Got”+results.length+”查询结果:+results[0].objectId);
},
错误:函数(错误){
响应。错误(“请求失败,响应代码为”);
控制台。错误(“请求失败,响应代码为”);
}
});
});
它告诉我时间戳是未定义的:

I2015-11-27T17:00:03.419Z]Deployed v17 with triggers:
Jobs:
    expireTimes
E2015-11-27T17:01:04.489Z]v17 Ran job expireTimes with:
  Input: {}
  Result: ReferenceError: timestamps is not defined
    at e.query.find.success (main.js:9:24)
    at e.<anonymous> (Parse.js:14:28224)
    at e.s (Parse.js:14:27156)
    at e.n.value (Parse.js:14:26575)
    at e.s (Parse.js:14:27284)
    at e.n.value (Parse.js:14:26575)
    at e.s (Parse.js:14:27284)
    at e.n.value (Parse.js:14:26575)
    at e.<anonymous> (Parse.js:14:27228)
    at e.s (Parse.js:14:27156)
I2015-11-27T17:00:03.419Z]部署了带触发器的v17:
工作:
过期时间
E2015-11-27T17:01:04.489Z]v17运行作业过期时间时使用:
输入:{}
结果:ReferenceError:未定义时间戳
在e.query.find.success(main.js:9:24)
在e。(Parse.js:14:28224)
在e.s(Parse.js:14:27156)
在e.n.value(Parse.js:14:26575)
在e.s(Parse.js:14:27284)
在e.n.value(Parse.js:14:26575)
在e.s(Parse.js:14:27284)
在e.n.value(Parse.js:14:26575)
在e。(Parse.js:14:27228)
在e.s(Parse.js:14:27156)
不确定这意味着什么/如何修复它。我假设声明时间戳,但我认为在“times”和“timestamp”列中的数组检索已经完成了


任何帮助都将不胜感激谢谢你

没有查询的概念。选择()。completion函数中唯一定义的变量是results(检索到的解析对象的数组)和currentTime,它们是在封闭范围中定义的

除非您实际定义了一个子类,
registerSubclass
是没有用的

作为开始练习,尝试查询类并记录结果。查询可以简单到:

var query = new Parse.Query("Wait");
query.find().then(function(results) {
    console.log(JSON.stringify(results));
    var firstId = (results.length>0)? results[0].id : "n/a";  // notice "id", not "objectId"
    console.log("Got " + results.length + " First id: " + firstId);
    response.success(results);
}, function(error) {
    response.error(error);  // return the real error so we can look at it
});
如果
timestamp
是Wait类上定义的属性,则可以使用get()获取它


时间戳
时间
都是数组
times
占用用户提交的时间,
timestamp
只需占用用户提交的时间并将其放入Int。这样,我就可以查看
timestamp+3600
是否为空,如果为空,我将其删除。那么,我如何获取这些数组并运行我的for循环呢?不确定这是否有用,但请记住,所有解析对象都提供createdAt和updatedAt,并且查询可以将它们与相等(但通常更好)不相等进行比较,如
query.lessThan(“updatedAt”,someDate)
,其中someDate是一个JS date对象。还请注意,可以使用get()获取数组属性,其内容可以像任何JS array.Perfect一样循环。既然我已经修改了我的代码,我该如何让它真正删除和更新对象中的数组呢?明白了。我会回答的。不过,一个简单的问题是,您真的只想对一个等待对象执行此操作吗?找到的第一个对象,
results[0]
?还是要更改找到的所有等待对象?
// just like before where you got the id, try "getting" an attribute
var firstTimestamp = (results.length>0)? results[0].get("timestamp") : "n/a";
// remember, this depends on you defining a "timestamp" attribute on the class