2017-08-16 52 views
0

我目前正在为烹饪社交网络开发基于分析服务器的API,特别是在检索食谱的功能上。我希望允许此函数公开计算字段,例如标题字段,它将在语言中选择几个现有(titleFr,titleEn,titleE,...)中的正确标题字符串。 我从另一篇文章中了解到,我应该在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); 
    }); 
}); 

回答

0

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

由于recipe实际上不是一个承诺,我不相信它就会等待以同样的方式,在这里。可能会被误解。如果发生查询失败,您可能会错过response.error()调用。