2017-08-16 72 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()調用。