請教js大大們,有個應用是要依序執行3個動作 action1, aciton2, action3
每個動作間會有delay, delay1, delay2, delay3
action的順序是讓user可以設定的ex: action1,2,3 or action3,1,2
這樣我是不是可以把user設定好的順序存成一個array叫actions好了
然後value剛好就是依序要執行的action的function name
actions = [ 'action3', 'action2', 'action1'];
然後像這樣用 actions[0]();
但是每個action是寫在vue的methods裡面,所以實際上要執行action會像這樣
this.action1();
如果想用變數的方式處理,就會變成
currentAction = actions[0];
this.currentAction()
顯然這樣是不可行的
有什麼辦法可以處理這個問題呢?
另外每個動作間的delay我是用setTimeout來處理
感覺看起來很不直覺,不知道有更好的辦法嗎?
感謝~