我是一个刚接触异步问题的新手。为简单起见,我创建了一个快速示例来说明我的问题。我有一个简单的函数,它运行一个查询并使用结果调用其他 2 个云函数。然后它会尝试为返回的对象设置 .set 值并对其进行 .save() 处理。一切似乎都正确执行,除了 .save()。我尝试过使用 promises/.thens 和其他一些技巧,但没有任何效果。如果有人可以提供最简单直接的解决方案,我将不胜感激。
Parse.Cloud.define("test", function(request,response){
query.equalTo("name",request.params.name);
query.first(
success: function(result){
result.set("testAverage", Parse.Cloud.run("calcAverage",{"name":request.params.name,"type":"test"}));
result.set("quizAverage", Parse.Cloud.run("calcAverage",{"name":request.params.name,"type":"quiz"}));
result.save();
},
error: function(){
response.error("error");
}
);
return result;
});
PS 在我的实际场景中,对其他云功能的并行调用在 10-20 之间,而不仅仅是 2。
谢谢!