如何获得Parse云代码查找结果?

时间:2016-01-29 01:53:41

标签: javascript parse-platform cloud-code

我运行hello作业,但Select函数返回空值。

我使用Parse.Cloud.define调用Select函数,结果有值。

hello作业中的Query.find具有价值。

请帮我弄清楚。

Parse.Cloud.job("hello", function(request, status) {
var Query = new Parse.Query("yee");
Query.equalTo("PushTime", NowTime);
Query.find({
    success: function(results) {
        for (var i = 0; i < results.length; i++) {
            var tp = results[i];
            alert("a");
            var mresult = Select(tp.get("ID"));
            alert("aa" + mresult);
            if (mresult != "error" || mresult != "undefined") {
                InstallationQuer = new Parse.Query(Parse.Installation);
                InstallationQuer.equalTo("NO", tp.get("No"));

                Parse.Push.send({
                    where: InstallationQuer,
                    data: {
                        alert: mresult
                    }
                });
            } else {
                console.error("error");
                status.error("error");
            }
        }
        console.log("success promise!!")
        status.success("success promise!!");
    },
    error: function(error) {
        console.error("Promise Error: " + error.message);
        status.error("error");
    }
});
});

function Select(ID) {
var a = "";
var Query = new Parse.Query("Meeting");
alert(ID);
Query.equalTo("ID", ID);
Query.find({
    success: function(results) {
        for (var i = 0; i < results.length; i++) {
            a = results[i].get("Details");
        }
        return a;
    },
    error: function(error) {
        return "error";
    }
});}

1 个答案:

答案 0 :(得分:0)

您同步调用Select函数 ,因此它会在Query.find有机会完成之前返回,因为它是异步函数。让您的函数返回Promise,并等待该承诺得到满足,然后再进一步处理结果。