Я только начал работать в Parse, используя справочник облачного кода https://parse.com/docs/cloud_code_guide, но застрял в проекте averageStars. Это мой код:Проблема с Parse Cloud Code
var Review = {
"movie" : "The Matrix",
"stars" : 5
};
Parse.Cloud.define("averageStars", function(request, response) {
var query = new Parse.Query("Review");
query.equalTo("movie", request.params.movie);
query.find({
success: function(results) {
var sum = 0;
for (var i = 0; i < results.length; ++i) {
sum += results[i].get("stars");
}
response.success(sum/results.length);
},
error: function() {
response.error("movie lookup failed");
}
});
});
Однако, после того, как я запускаю код с помощью команды в руководстве, он только что вернулся пустой {}.
Это мой призыв к облачному коду:
Maou-MacBook-Pro:MyCloudCode maou$ parse deploy
Uploading source files
Finished uploading files
New release is named v22 (using Parse JavaScript SDK v1.3.4)
Maou-MacBook-Pro:MyCloudCode maou$ curl -X POST \
> -H "X-Parse-Application-Id: tnXgGeoY38YjEbAqcakncPFRkUzaBQ29v5tK1ir7" \
> -H "X-Parse-REST-API-Key: 1YVzcl0aKATUUHZITsPasP11m0VNLrdVWiisE1YB" \
> -H "Content-Type: application/json" \
> -d '{"movie":"The Matrix"}' \
> https://api.parse.com/1/functions/averageStars
{}
Прежде всего, вы никогда не получаете доступ к элементу по индексу 0 из-за своего '++ i'. Это опечатка? Я всегда предпочитаю использовать совет Крокфорда и использовать 'for (var i = 0; i
mbm29414
Привет, mbm29414, я попробовал, но у него такая же ошибка. – maou
Попробуйте ввести некоторые инструкции 'console.log()'. Возможно, вы не получите массив результатов, который вы ожидаете. Попробуйте это (непосредственно перед 'var sum = 0;'): 'console.log (" results: "+ JSON.stringify (results));'. – mbm29414