gpt4 book ai didi

javascript - 解析服务器每个查询等待当前作业完成

转载 作者:行者123 更新时间:2023-12-01 03:40:15 26 4
gpt4 key购买 nike

这是我的代码:

    Parse.Cloud.job("deleteDuplicatedMates", function(request, status) {

var friendshipQuery = new Parse.Query("Friendship");
friendshipQuery.each((friendship) => {

var innerQuery1 = new Parse.Query("Friendship");
innerQuery1.equalTo("user1", friendship.get("user1"));
innerQuery1.equalTo("user2", friendship.get("user2"));

var innerQuery2 = new Parse.Query("Friendship");
innerQuery2.equalTo("user1", friendship.get("user2"));
innerQuery2.equalTo("user2", friendship.get("user1"));

var findPS = Parse.Query.or(innerQuery1, innerQuery2)
.notEqualTo("objectId", friendship.id)
.find()
.then(function(objects) {
console.log("did found");
if (objects.length > 0) {
//delete deplicated objects
Parse.Object.destroyAll(objects);
}
})
return Parse.Promise.when(findPS);
}).then(function() {
status.success("I just finished");
}, function(error) {
status.error("There was an error");
})
});

我的代码工作正常,但我需要更新它,以便:仅当当前的each(friendship) 已完成删除找到的对象时,才会处理下一个each(friendship),因此流程将如下所示:

get first object => find duplicated objects => delete found objects => get the second object => find duplicated objects => delete them => get the this one ...

最佳答案

如果一个 Promise block 到达 block 的末尾,并且没有返回另一个 Promise,它会自动返回一个空的已解析 Promise。因此,我会将 .find() 更改为 return findPs.find().../*其余代码*/

关于javascript - 解析服务器每个查询等待当前作业完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43941324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com