在解析对象查询

时间:2017-08-16 07:54:55

标签: javascript parse-platform parse-server

我目前正在为烹饪社交网络开发基于Parse Server的API,特别是在检索食谱的函数上。我想允许此函数公开计算字段,例如标题字段,它将在语言中的几个现有(titleFr,titleEn,titleEs,...)中选取正确的标题字符串。 我从另一个贡献中理解我应该在Parse.Promise上工作但是我找不到hack:函数响应仍然只暴露存储的字段。有谁知道吗?

Parse.Cloud.define('getRecipes', function(request, response) {
    var lang = getLocale(request); // a homemaid function 
    var recipes = new Parse.Query("Recipe");
    recipes.find().then(function (recipes) {
        console.log("Successfully retrieved " + recipes.length + " recipes.");
        var recipe = recipes.map(function (recipe) {
            recipe.title = recipe.get("title" + lang);
            return recipe;
        });
        return Parse.Promise.when(recipe);
    }).then(function (results) {
        response.success(results);
    }).fail(function(error) {
        alert("Error: " + error.code + " " + error.message);
    });
});

1 个答案:

答案 0 :(得分:0)

尝试使用return recipes.map....代替var recipe... return Parse.Promise.When(recipe);

由于recipe实际上并不是一个承诺,我不相信它会以同样的方式等待。可能是错的。

此外,仅供参考,如果查询失败,您错过了response.error()来电。