我在CoffeeScript中写了两个setTimeout
语句:
setTimeout ( -> DISPLAY_AREA.append("<p>" + "> " + message + "</p>") ), 1000
setTimeout ( -> DISPLAY_AREA.append("<p>" + "> " + message + "</p>") ), 1000
我希望这些语句按顺序执行,间隔为1秒。但他们同时执行。我们可以更改setTimeout
的开始时间点吗?
答案 0 :(得分:2)
从第一个(更通用的)回调中调用第二个setTimeout
:
setTimeout (->
DISPLAY_AREA.append("<p>" + "> " + message + "</p>")
setTimeout (->
DISPLAY_AREA.append("<p>" + "> " + message + "</p>")
), 1000
), 1000
或者只是调整超时值:
setTimeout ( -> DISPLAY_AREA.append("<p>" + "> " + message + "</p>") ), 1000
setTimeout ( -> DISPLAY_AREA.append("<p>" + "> " + message + "</p>") ), 2000
答案 1 :(得分:0)
使用这样的:
function inOrder() {
this.count = this.count+1 || 0; //static var for this function
if (this.count == 0) {
setTimeout('alert("1")', 1000); //First function
} else if (this.count == 1) {
setTimeout('alert("2")', 1000); //second function
} else {
clearInterval(Int); //Clear interval
}
}
var Int = setInterval(inOrder, 1000); //Global reference on Interval Id