我写了一个云代码
Parse.Cloud.define("getApartmentVendorProduct", function(request, response) {
var isApartmentCallComplete = false;
var isVendorCallComplete = false;
var isProductCallComplete = false;
var result = {};
var apartmentQuery = new Parse.Query("Apartment");
apartmentQuery.find({
success: function(results) {
isApartmentCallComplete = true;
results.apartments = results;
}
});
var vendorQuery = new Parse.Query("Vendor");
vendorQuery.find({
success: function(results) {
isVendorCallComplete = true;
results.vendors = results;
}
});
var productQuery = new Parse.Query("Product");
productQuery.find({
success: function(results) {
isProductCallComplete = true;
results.products = results;
}
});
setInterval(function () {
if (isApartmentCallComplete && isVendorCallComplete && isProductCallComplete) {
response.success(results);
}
}, 50);
});
PS:我很清楚setInterval不适用于Parse ..这段代码只是为了理解。
在此云功能中,我进行了3次查询操作。
在我的Android应用程序中,我正在调用此云代码。
这是我的问题。 考虑了多少API请求?
1)由云代码制作的3个API请求和由Android制作的1个API请求 - 总计4
2)Android提供的1个API请求。 - 总计1
答案 0 :(得分:0)
该选项为1,它发出4个请求。
我尝试使用示例代码来测试Burst Limit
Parse.Cloud.define("testBurstLimit", function(request, response) {
var globalI = 0;
for(var i = 0; i < 500; i++) {
var productQuery = new Parse.Query("Product");
productQuery.find({
success: function(results) {
console.log("success " + i + " " + globalI);
globalI++;
if (globalI == 250) {
response.success("success");
}
},
error: function(error) {
isApartmentCallComplete = true;
if (isApartmentCallComplete && isVendorCallComplete && isProductCallComplete) {
console.log(error.message + " " + error.code);
}
}
});
}
});
我发现有一点奇怪的是。 Parse不会计算请求/秒,而是以每秒/每分钟的请求计算。当我一次又一次地执行BurstLimit云代码时检查Parse的响应
{"code":155,"error":"This application performed 1814 requests over the last 28s, and exceeded its request limit. Please retry in 32s"}