Node.js 如何执行复杂的解析或表示承诺模式
我在express中使用解析查询获得了以下模式的代码:Node.js 如何执行复杂的解析或表示承诺模式,node.js,parse-platform,promise,Node.js,Parse Platform,Promise,我在express中使用解析查询获得了以下模式的代码: var function1 = function(a){ if(a){ var setSomething = new Parse.Object setSomething.set("thing", "stuff"); setSomething.save(); }else{ var query = new Parse.Query(Shortcut);
var function1 = function(a){
if(a){
var setSomething = new Parse.Object
setSomething.set("thing", "stuff");
setSomething.save();
}else{
var query = new Parse.Query(Shortcut);
query.first({
success: function(getThing){
getThing.set("thing", "otherStuff");
getThing.save();
}
})
}
}
var function2 = function(){
var a = true;
function1(a)
}()
var function3 = function(){
var a = false;
function1(a)
}()
我想使用Promissions一次完成所有保存,然后res.send返回到前端,但我无法确定模式以及是否应该使用Parse Promissions或其他Promission库,如果是Parse.promise()或Parse.promise.as(),我是否使用Parse Promissions无论哪种方式,如果我正在推数组或调用'when'方法,然后我应该在哪里调用when方法。我不敢相信这是可行的,但它看起来是可行的! 我的回答基于以下帖子: 新手需要注意的关键点是:我还返回了function1中的所有内部函数和save函数
var function1 = function(a){
if(a){
var setSomething = new Parse.Object
setSomething.set("thing", "stuff");
return setSomething.save();
}else{
var query = new Parse.Query(Shortcut);
query.first({
success: function(getThing){
getThing.set("thing", "otherStuff");
return getThing.save();
}
})
}
}
var function2 = function(){
var a = true;
return function1(a)
}()
var function3 = function(){
var a = false;
return function1(a)
}()
Parse.Promise.when(function2(), function3())
.then(function(){
res.send("Success")})