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
爲什麼?我該如何解決它?