以下代码用于解析后台作业,并且由于某种原因,代码未按预期顺序运行,并且它似乎正在运行ASYNC并且承诺无法正常工作。如果需要进行任何修改以使代码以顺序方式工作,我感谢您的帮助。
新版本的代码:
Parse.Cloud.job("NewJob", function(request, response) {
Parse.Cloud.run('Count1', {params}).then(function(recCount1)
{
Query1.equalTo(<cond>);
return Query1.each(
function(Record1)
{
Record1.save().then(function(saverecord1)
{
Parse.Cloud.run('Count2', {params}).then(function(recCount2)
{
Query2.equalTo(<cond>);
Query2.each(
function(Record2)
{
Record2.save().then(function(saverecord2)
{
Parse.Cloud.run('Count3', {params}).then(function(recCount3)
{
Query3.equalTo(<cond>);
Query3.each(
function(Record3)
{
Record3.save().then(function(saverecord3)
{
//save success;
},
function(error)
{
response.error("Got an error " + error.code + " : " + error.message);
}).then(function(complete)
{
response.success();
})
},{useMasterKey: true})
},
function(error)
{
response.error("Got an error " + error.code + " : " + error.message);
})
},
function(error)
{
response.error("Got an error " + error.code + " : " + error.message);
})
},{useMasterKey: true})
},
function(error)
{
response.error("Got an error " + error.code + " : " + error.message);
})
},
function(error)
{
response.error("Got an error " + error.code + " : " + error.message);
})
},{useMasterKey: true})
},
function(error)
{
response.error("Got an error " + error.code + " : " + error.message);
})
});