请教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来处理
感觉看起来很不直觉,不知道有更好的办法吗?
感谢~