Javascript 未返回Parse.com http响应,且未定义状态
我在写语法分析的背景工作时面临两个问题 这是我的密码Javascript 未返回Parse.com http响应,且未定义状态,javascript,parse-platform,Javascript,Parse Platform,我在写语法分析的背景工作时面临两个问题 这是我的密码 Parse.Cloud.job("createSilentUsers",function(request,response){ // Set up to modify user data Parse.Cloud.useMasterKey(); //get all the users from backupusers table where isbiscootactivated = 0 and issnsactivated=0
Parse.Cloud.job("createSilentUsers",function(request,response){
// Set up to modify user data
Parse.Cloud.useMasterKey();
//get all the users from backupusers table where isbiscootactivated = 0 and issnsactivated=0
// Query for all users
var query = new Parse.Query("biscootusers");
query.equalTo("isbiscootactivated",0);
query.equalTo("issnsactivated",0);
query.first({
success: function(result) {
// Successfully retrieved the object.
var objUser = result;
console.log(result.attributes.deviceid);
console.log(result.attributes.imei);
console.log(result.attributes.appname);
console.log(result.attributes.appid);
console.log(result.attributes.appversion);
//check if the deviceid and imei set is already a biscoot activated user
var promise = Parse.Promise.as();
promise = promise.then(function() {
console.log("we are inside the prmise");
return Parse.Cloud.httpRequest({
method: 'POST',
url: 'http://<our server name>/1.0/PartnerActivation/isDeviceExists',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'},
body: {
imei: result.attributes.imei,
deviceid: result.attributes.deviceid,
appname: result.attributes.appname,
appid: result.attributes.appid,
appversion: result.attributes.appversion}
}).then(function(httpResponse)
{
console.log("Response of isdeviceactivated is " + httpResponse.text);
if(httpResponse.text == 'true' || httpResponse.text="True")
{
console.log("The user is already activated");
objUser.set("isbiscootactivated",1);
objUser.save();
}
else
{
//do the biscoot activation here
console.log("its not activated, lets do the biscootusers activation");
}
},
function(error) {
console.log("error occurred during isDeviceExists api as " + error);
});
});
console.log("nothing seems to have happened");
},
error: function(error) {
console.log("Error: " + error.code + " " + error.message);
}
}).then(function() {
// Set the job's success status
status.success("All the users been set to the db successfully");
}, function(error) {
// Set the job's error status
status.error("Uh oh, something went wrong.");
});
});
Parse.Cloud.job(“createSilentUsers”,函数(请求、响应){
//设置以修改用户数据
Parse.Cloud.useMasterKey();
//从backupusers表中获取所有用户,其中isbiscootactivated=0和isnsactivated=0
//所有用户的查询
var query=newparse.query(“biscoutUsers”);
query.equalTo(“isbiscootactivated”,0);
query.equalTo(“issnsactivated”,0);
第一个问题({
成功:功能(结果){
//已成功检索该对象。
var objUser=结果;
console.log(result.attributes.deviceid);
log(result.attributes.imei);
console.log(result.attributes.appname);
console.log(result.attributes.appid);
console.log(result.attributes.appversion);
//检查deviceid和imei集合是否已经是biscoot激活的用户
var promise=Parse.promise.as();
promise=promise.then(函数(){
log(“我们在项目中”);
返回Parse.Cloud.httpRequest({
方法:“POST”,
网址:'http:///1.0/PartnerActivation/isDeviceExists',
标题:{
“内容类型”:“application/x-www-form-urlencoded”},
正文:{
imei:result.attributes.imei,
deviceid:result.attributes.deviceid,
appname:result.attributes.appname,
appid:result.attributes.appid,
appversion:result.attributes.appversion}
}).then(函数(httpResponse)
{
log(“isdeviceactivated的响应为”+httpResponse.text);
if(httpResponse.text==“true”| | httpResponse.text=“true”)
{
console.log(“用户已激活”);
对象集(“isbiscootactivated”,1);
objUser.save();
}
其他的
{
//在这里激活biscoot
log(“它没有被激活,让我们来激活BiscoutUsers”);
}
},
函数(错误){
log(“isDeviceExists api期间发生的错误为”+错误);
});
});
log(“似乎什么也没发生”);
},
错误:函数(错误){
console.log(“错误:+Error.code+”+Error.message);
}
}).然后(函数(){
//设置作业的成功状态
status.success(“所有用户已成功设置到数据库”);
},函数(错误){
//设置作业的错误状态
状态错误(“哦,出了点问题。”);
});
});
我的问题是
Parse.Cloud.job("createSilentUsers",function(request,response){
对此
Parse.Cloud.job("createSilentUsers",function(request,status){
我猜是这一行出错了,因为
status
未定义<代码>状态.success(“所有用户已成功设置到数据库”)代码>(或者在发生错误时使用下面的代码,您也可以使用状态
)。是的,但是“状态”是解析后台作业的必填项,否则它不会在日志中记录为成功,也可以说是示例“与其他云功能一样,您应该处理成功和错误情况。对于后台作业,可以在函数完成时调用status.success()或status.error()。然后,作业执行状态将设置为“已完成”。如果您不调用这两个方法中的任何一个,您的作业将在15分钟后超时。”是的,但它们使用status
作为内部函数的第二个参数,您有response
。