我在解析云代码文件上有这样的代码
Parse.Cloud.define("updateUserRatings", function (request, response) {
var query = new Parse.Query("Table");
query.find({
success: function (users) {
number1();
number2();
number3();
number4();
number5();
response.success("success");
},
error: function () {
response.error("error");
}
});
});
function number1 () {
console.log("number1");
}
function number2 () {
console.log("number2");
}
function number3 () {
console.log("number3");
}
function number4 () {
console.log("number4");
}
function number5 () {
console.log("number5");
}
在日志中,它必须看起来像
number1
number2
number3
number4
number5
但是我看到了
I2014-08-08T12:57:42.370Z] v24: Ran cloud function updateUserRatings with:
Input: {}
Result: success
I2014-08-08T12:57:42.510Z] number3
I2014-08-08T12:57:42.513Z] number5
I2014-08-08T12:57:42.514Z] number1
I2014-08-08T12:57:42.514Z] number2
I2014-08-08T12:57:42.514Z] number4
为什么以错误的顺序调用它? 这搞砸了所有人。我无法创建正确的代码,因为它以随机顺序调用。 那是为什么?
答案 0 :(得分:2)
这是一种已知现象--Parse以异步方式收集控制台日志条目,因此无法保证它们在日志中出现的顺序代表它们的执行顺序。执行本身应该以完全一致,可预测,同步的方式发生 - 我从来没有发现任何问题。