次の Parse クラウド コードがあるとします。
// assume myObj is a parse object
myObj.set("field1", "foo");
Parse.Promise.as().then(function()
myObj.save(myObj, {
success: function(savedObj) {
// A
return Parse.Promise.as();
},
error: function(myObj, error) {
// B
return Parse.Promise.as();
}
});
// C
// note that we can get here without any return statement being called
}).then(function() {
// D
});
(今、私はすべてのために約束を使用する方が簡単であることを知っています:
myObj.save().then(
...
...しかし、Promise を返さない関数がいくつかあるため、Backbone スタイルの成功/エラー ブロックを Promise と混在させるしかない場合があります。)
私の質問:
Cに達するとどうなりますか?これらの return ステートメントの 1 つに到達するまで、この promise で実行が一時停止し、その後 D に到達しますか? C に到達した後、return 文を待たずに直接 D に実行が進みますか? これはエラーですか?
言い換えれば、C、D、A/B の順序で実行することは可能でしょうか? それとも、常に C、A/B、D になりますか? (または、保存が非常に速く終了する場合、A/B、C、D のようなものだと思いますか?)