parse.com上的云代码运行顺序不正确

时间:2014-08-08 13:05:37

标签: parse-platform

我在解析云代码文件上有这样的代码

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

为什么以错误的顺序调用它? 这搞砸了所有人。我无法创建正确的代码,因为它以随机顺序调用。 那是为什么?

1 个答案:

答案 0 :(得分:2)

这是一种已知现象--Parse以异步方式收集控制台日志条目,因此无法保证它们在日志中出现的顺序代表它们的执行顺序。执行本身应该以完全一致,可预测,同步的方式发生 - 我从来没有发现任何问题。