下面我有兩個功能,我需要按順序執行它們,只有當第一個完成的下次運行。但是,這不僅僅是輸出第二個功能。運行功能
在原料Lua中,我們可以使用CALLBACK_MANAGER:FireCallbacks
和CALLBACK_MANAGER:RegisterCallback
處理這個問題。我怎麼能繼續esp8266?
-- test.lua
function increase()
a = 0
tmr.alarm(1,1000,1,function()
if (a == 10) then
tmr.stop(1)
else
a = a + 1
end
print(a)
end)
end
function decrease()
a = 10
tmr.alarm(1,1000,1,function()
if (a == 0) then
tmr.stop(1)
else
a = a - 1
end
print(a)
end)
end
function start()
increase()
decrease()
end
start()
輸出
➜ test git:(master) ✗ nu exec test.lua
➜ test git:(master) ✗ nu terminal
-- output
--- Miniterm on /dev/cu.wchusbserial1410 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
10
9
8
7
6
5
4
3
2
1
任何想法?提前致謝!
當所有增加的作業完成時,您應該從'increase()'內部調用'decrease()'。 –
這是一個好方法嗎?如果有一段時間我只需要執行'increase()'會怎麼樣? – hugalves