我正在为我的学校做一个项目。我对这种情况感到困惑:
我在javascript中创建一个函数,每4秒运行一次,从我的数据库中获取所有的queue_id并将其存储在一个临时数组中,并且在存储它之后,每隔4秒,我将从我的数据库获得另一个相同的数据并检查是否相等,如果我的1,2,3,4数据库中有一个queue_id结果,那么我的下一个4secs查询是1,3,4,5那么我会做点什么。或者如果它返回1,2,3,4,5,6然后我会做同样的,如果它不同,但如果它再次返回1,2,3,4,5,6或相同的上一个查询我不会做某事。
以下是代码:
function check_getqueue(clinicID, userID) {
var tmpCountQ = [];
var lastCon = [];
$.ajax({
url: siteurl+"sec_myclinic/checkingUpdates/"+clinicID+"/"+userID,
type: "POST",
dataType: "JSON",
success: function(data) {
for(var i=0;i<data.length;i++) {
tmpCountQ.push(data[i]['queue_id']);
};
if(typeof lastCon[0] != "undefined")
{
for(j=0;j < tmpCountQ.length;j++)
{
if(tmpCountQ[j] != lastCon[j])
{
alert("HI");
lastCon[j] = tmpCountQ[j];
}
}
}
else
{
lastCon = tmpCountQ;
}
console.log(tmpCountQ);
}
});
}
我尝试将此代码每4秒运行一次,但它不能像我想要的那样工作,它不满足条件if(tmpCountQ[j] != lastCon[j])
alert("HI");
来测试它是否存在满意。请帮帮我,这是此代码中的第一个和第二个返回的数据:
它必须给我一个HI的警报,因为第一个JSON给我2,3,而下一个是1,3。请帮忙..谢谢
请帮助,Stackoverflow的任何人 - 我需要帮助
答案 0 :(得分:0)
你重新分配你的数组是空的,所以你对initialArray [0] === undefined的检查将导致它跳过比较,但你的数组仍然是无论如何
移动声明 var lastCon = []; 在外面 该函数,这将导致它是全局的,这可能是不可取的,但它将修复代码。