我正在尝试做一个流量分析应用程序,但是客户端的渲染速度比服务器端的数据加载速度更快。 (更具体地说,这是未在Web上呈现的视觉识别数据,我正在使用IBM视觉识别云服务)
我可以知道如何解决这个问题吗?我已经坚持了几天。
这是我调用函数的代码。
class SkuDetails(models.Model):
sku_id = models.DecimalField(primary_key=True, max_digits=65535, decimal_places=65535)
sku_desc = models.TextField(blank=True, null=True)
category = models.TextField(blank=True, null=True)
class Risks(models.Model):
risk_id = models.DecimalField(primary_key=True, max_digits=65535, decimal_places=65535)
risk_group_short_desc = models.TextField(blank=True, null=True)
risk_group_desc = models.TextField(blank=True, null=True)
var = models.DecimalField(max_digits=65535, decimal_places=65535, blank=True, null=True)
sku = models.ForeignKey(SkuDetails, models.DO_NOTHING, blank=True, null=True)
这是我进行视觉识别的地方
fetchAPI(10).then((data) => {
var data = data["items"][0]["cameras"]
for (let i = 0; i < data.length; i++){
image = data[i]["image"]
images.push(image);
coordinates.push([data[i]["location"]["latitude"], data[i]["location"]["longitude"]]);
}}).then(recognition(10, pageRender))
这是我用来呈现页面的回调函数。
async function recognition(res, callback){
// Fetch api to get the images to be analyse
var data = await fetchAPI(10)
var info = await data["items"][0]["cameras"]
// Loop through the images
for (let i = 0; i < info.length; i++){
var image = await info[i]["image"]
// Params to be analyse
var params = await {
url: image,
classifier_ids: classifier_ids
};
// The part where it analyse the image
await visualRecognition.classify(params, function(err, response) {
if (err)
console.log(err);
else
try{
var status = (JSON.stringify(response.images[0]["classifiers"][0]["classes"][0]["class"], null, 2));
var prob = (JSON.stringify(response.images[0]["classifiers"][0]["classes"][0]["score"], null, 2));
}
catch(error){
status = "Error getting status"
prob = "Error getting probability"
}
value.push([status, prob]);
});
}
await callback()}