Parse platform Parse Cloud函数在从Parse Server 2.8.4升级到3.0+;

Parse platform Parse Cloud函数在从Parse Server 2.8.4升级到3.0+;,parse-platform,promise,parse-server,parse-cloud-code,Parse Platform,Promise,Parse Server,Parse Cloud Code,我一直在尝试将我的云功能从解析服务器2.8.4迁移到3.0+ 下面的云函数旨在向客户端返回GCUR_观测的计数。我打算在同步中使用本机承诺,而不是异步/等待 Parse.Cloud.define("countOfObservations", (request) => { var query = new Parse.Query("GCUR_OBSERVATION"); var countOfObs = 0; query.coun

我一直在尝试将我的云功能从解析服务器2.8.4迁移到3.0+

下面的云函数旨在向客户端返回GCUR_观测的计数。我打算在同步中使用本机承诺,而不是异步/等待

Parse.Cloud.define("countOfObservations", (request) => {
    var query = new Parse.Query("GCUR_OBSERVATION");
    var countOfObs = 0;
    query.count({ useMasterKey: true }).then( (count) => {
        countOfObs = count;
        console.log("*** count=" + countOfObs);
        return countOfObs;
    });
});
当我尝试从cURL调用此函数时:

curl -X POST -H "X-Parse-Application-Id: {APP_ID}" -H "X-Parse-REST-API-Key: {REST_API_KEY}t" -H "Content-Type: application/json" https://{SERVER_URL}/parse/functions/countOfObservations
已返回
{}
。但是,后端控制台打印了
***count=2882


我做错了什么吗?

你没有兑现承诺。您可以使用async/await使其更简单

下面是一个更新的示例

Parse.Cloud.define("countOfObservations", (request) => {
    var query = new Parse.Query("GCUR_OBSERVATION");
    var countOfObs = 0;
    return query.count({ useMasterKey: true }).then( (count) => {
        countOfObs = count;
        console.log("*** count=" + countOfObs);
        return countOfObs;
    });
});

你没有回报承诺本身。您可以使用async/await使其更简单

下面是一个更新的示例

Parse.Cloud.define("countOfObservations", (request) => {
    var query = new Parse.Query("GCUR_OBSERVATION");
    var countOfObs = 0;
    return query.count({ useMasterKey: true }).then( (count) => {
        countOfObs = count;
        console.log("*** count=" + countOfObs);
        return countOfObs;
    });
});
试试这个:

Parse.Cloud.define("countOfObservations", async (request) => {
    var query = new Parse.Query("GCUR_OBSERVATION");
    var countOfObs = 0;
    const count = await query.count({ useMasterKey: true });
    countOfObs = count;
    console.log("*** count=" + countOfObs);
    return countOfObs;
});
试试这个:

Parse.Cloud.define("countOfObservations", async (request) => {
    var query = new Parse.Query("GCUR_OBSERVATION");
    var countOfObs = 0;
    const count = await query.count({ useMasterKey: true });
    countOfObs = count;
    console.log("*** count=" + countOfObs);
    return countOfObs;
});