如何更改setTimeout的开始时间点?

时间:2013-06-09 10:46:09

标签: javascript coffeescript

我在CoffeeScript中写了两个setTimeout语句:

setTimeout ( -> DISPLAY_AREA.append("<p>" + "> " + message + "</p>") ), 1000
setTimeout ( -> DISPLAY_AREA.append("<p>" + "> " + message + "</p>") ), 1000

我希望这些语句按顺序执行,间隔为1秒。但他们同时执行。我们可以更改setTimeout的开始时间点吗?

2 个答案:

答案 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