0
我有一个文本字段,我想一次推出一个单词。这些单词是在一个数组中。要显示的单词之间的延迟设置为1秒。第一个字显示2秒。因此,奇怪的双重陈述。在成帧器中延迟迭代
msgArray = [
["Hello", "World"],
["89:23", "Tom Eriksen","Scooores!!"],
["Overtime", "about to", "start"]]
printMessageLoop = (msgArray, target) ->
target.text = msgArray[0]
timeToRead = 1
Utils.delay timeToRead,() ->
for i in [1..msgArray.length-1]
Utils.delay timeToRead*i,() ->
target.text = msgArray[i]
print "i="+i #debugging purpose
当我打电话printMessageLoop(msgArray[2])
的target
显示的第一个字正确的,但最后两个是“不确定”。打印输出说:
printMessageLoop(msgArray[2])
»i=3
»i=3
看来当行target.text = msgArray[i]
被执行i
被设置为最后i
等。那是我++ = 3
为什么?我该如何解决它?