我需要鏈接一些異步操作。我正在嘗試編寫使用快遞的Parse.com雲碼。 (我認爲明示是承諾支持起源的地方)。我明白爲什麼承諾是有價值的,但我仍然不確定一些事情。首先是如何收集順序操作的結果。下面的代碼說明:thing1完成Javascript承諾結果範圍
function doAsnychThingsInSequence(params) {
return doThing0(params).then(function(resultOfThing0) {
// thing1 depends on resultOfThing0
doThing1(resultOfThing0);
}).then(function(resultOfThing1) {
// here is where I am confused.
// thing2 depends on the results of thing0 and thing1
doThing2(resultOfThing0 /* out of scope?? */, resultOfThing1);
}, function(error) {
// handle error
});
}
後,我需要兩個動作的結果。我想我可以在函數的頂部分配一個變量,並將其分配給第一個回調中的第一個結果,那是正確的方法嗎?我想,在我迷茫的心臟是問題二...
return doThing0(params0).then(function(resultOfThing0) {
doThing1(resultOfThing0);
// what does return mean here? does what I return here relate to the
// parameters of the next function?
return "foo";
}).then(function(param) {
// what is in param? is it "foo"?
}, function(error) {
});
感謝。我以爲我是從JS那裏得到的。編輯。我通過解析雲代碼來使用快遞。 – someShmuck