我正在使用Node.js和MongoDb进行开发,其标题如下图所示
每个header元素都调用一个node.js api,该API会执行一些猫鼬的聚合调用并返回一些数据,并且页面会得到渲染。一切工作正常,但是当用户单击任何菜单时,加载过程需要5-10秒;在此期间,如果用户单击另一个或相同菜单按钮(页面正在加载),则已定义的节点api中会发生未定义的变量错误。用户在单击其他菜单按钮之前等待页面完全加载时,应用程序运行正常。
app.get("/services", function(req, res) {
mongoose.connection.db.collection("dummy", function(err, collection) {
collection.aggregate(
[{}]
).toArray(function(err, site_count1) {
mongoose.connection.db.collection("dummy", function(err, collection) {
collection.aggregate(
[{}]
).toArray(function(err, site_count2) {
label=["scared","excitement","loved/liked","anger","unhappy","concerned","happy"]
mongoose.connection.db.collection("dummy", function(err, collection) {
dataset={}
diet = []
diet = []
typ="Emotion"
dataset[typ] = {}
//console.log(typ)
collection.aggregate(
[
{}
]
).toArray(function(err, pro) {
console.log(diet)
dataset[typ]["label"]=(categ1) //Here error is coming dataset[typ] not defined and this is already defined above at line 28
dataset[typ]["x-axis"]=label.sort()
mongoose.connection.db.collection("dummy", function(err, collection) {
collection.aggregate([{}]
).toArray(function(err, pro) {
mongoose.connection.db.collection("dummy", function(err, collection) {
collection.aggregate(
[{}]
).toArray(function(err, pro) {
res.render("sentimentview", {
dataset: JSON.stringify(sentiment)
});
});
});
});
// if(proc==Type.length)
// {
})
});
// if(proc==Type.length)
// {
})
})
})
})
});
});
以上是在单击服务上进行的节点调用的示例代码。错误出现在
dataset [typ] [“ label”] =(categ1)
如果用户在不等待页面加载的情况下再次单击按钮,则此代码。