setTimeout 方法带参数传递

时间:2021-05-18 21:27:44

setTimeout(callback, after, arg1, arg2);

 

其中,callback即function(){},after为时间参数,指多久后执行callback,单位为毫秒,3000 = 3秒,arg1、arg2即该函数所带参数,如无可以不填。

当同时使用1个以上的setTimeout函数时,记得在时间参数上注意下,不要用相同的值,因为那样会在同一时间后执行所有函数,就没有延迟效果了。

例:

var arrayPoint = [{x: 26.1103370000, y: 119.2632390000}, {x: 26.1104030000, y: 119.2633580000}, {x: 26.1105370000, y: 119.2634390000}, {x: 26.1106370000, y: 119.2635390000}, {x: 26.1107370000, y: 119.2632690000}]

function sendPoint(x, y) {
var date = new Date();
var pointInfo = {
username:
"sanming",
longitude: y,
latitude: x,
createTime: date
}
socket.emit(
'updatePositionInfo', pointInfo);
}
send(arrayPoint[
3].x, arrayPoint[3].y);
setTimeout(send,
3000, arrayPoint[0].x, arrayPoint[0].y);
setTimeout(send,
6000, arrayPoint[1].x, arrayPoint[1].y);
setTimeout(send,
9000, arrayPoint[2].x, arrayPoint[2].y);