函數StartScan()
被稱爲通過按鈕單擊,並且addDevices()
動態地創建輸出。我希望這個輸出每2或5秒自動更新一次。帶append()的簡單循環不起作用
在控制檯中,我看到函數StartScan()
自動重新加載,所以這些值在那裏,我只是把addDevice()
函數放在一個循環中。
我在哪裏錯了?
function startScan()
{
var paramsObj = {serviceUuids:[]};
console.log("Start Scan : " + JSON.stringify(paramsObj));
bluetoothle.startScan(startScanSuccess, startScanError, paramsObj);
return false;
}
function startScanSuccess(obj)
{
console.log("Start Scan Success : " + JSON.stringify(obj));
if (obj.status == "scanResult")
{
console.log("Scan Result");
addDevice(obj.address, obj.name, obj.rssi);
}
else if (obj.status == "scanStarted")
{
console.log("Scan Started");
}
else
{
console.log("Unexpected Start Scan Status");
}
}
function addDevice(address, name, rssi)
{
var $devices = $(".devices");
var $check = $devices.find("li[data-address='{0}']".format(address));
if ($check.length > 0)
{
return;
}
var template = $("#device").text().format(address, name, rssi);
$devices.append(template);
$devices.trigger("create");
window.setTimeout(50000);
console.log("Loop: " + i);
if (rssi < -100){
alert(name + " lost proximity");
}
setInterval(function(){ addDevice(adress, name, rssi);}, 2000);
}
如果您使用jQuery,請將標記添加到您的問題。 – j08691
什麼是'format()'?你確定它返回的jQuery對象? – George
注意:['setTimeout()'](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout)需要一個函數與超時一起調用。它不等同於暫停當前線程的'sleep()'函數,延遲了以下代碼。它只是延遲調用提供給它的函數。 –