苦Laya.Handler.create的回调久矣!再加上现在需要批量判断调用函数,因此打算写一个分条件执行的函数。
代码类似于这样,其中最关键的一部分是类似于Laya.Handler.create里面的执行函数那一句,它的参数列表有长有短,怎样填入那个函数体里面?不会写:
checkBlockLists(readyList:Array<string>,state:string,doFunction:Array<Function>,args:Array<any[]>,once?:boolean) {//对整个缓冲列表进行遍历,如果有任何一个列表满足状态state,则对于该缓冲列表,做处理函数Function,参数列表为args。如果once为true,则找到任意一个列表执行就返回。
for(var i=0;i<readyList.length;i++){
if(readyList[i]==state)
{
Laya.Handler.create(levelController.Instance(),doFunction[i],args[i],once);
// var argList=args[i];
// doFunction[i](argList.forEach);
// //doFunction[i](args[i][0],...,arg[i][arg[i].length - 1]));howTo?
}
![](http://imgsrc.baidu.com/forum/w%3D580/sign=e5cf7774b9003af34dbadc68052ac619/b77c652309f790524b3ed04303f3d7ca7acbd587.jpg)
代码类似于这样,其中最关键的一部分是类似于Laya.Handler.create里面的执行函数那一句,它的参数列表有长有短,怎样填入那个函数体里面?不会写:
checkBlockLists(readyList:Array<string>,state:string,doFunction:Array<Function>,args:Array<any[]>,once?:boolean) {//对整个缓冲列表进行遍历,如果有任何一个列表满足状态state,则对于该缓冲列表,做处理函数Function,参数列表为args。如果once为true,则找到任意一个列表执行就返回。
for(var i=0;i<readyList.length;i++){
if(readyList[i]==state)
{
Laya.Handler.create(levelController.Instance(),doFunction[i],args[i],once);
// var argList=args[i];
// doFunction[i](argList.forEach);
// //doFunction[i](args[i][0],...,arg[i][arg[i].length - 1]));howTo?
}
![](http://imgsrc.baidu.com/forum/w%3D580/sign=e5cf7774b9003af34dbadc68052ac619/b77c652309f790524b3ed04303f3d7ca7acbd587.jpg)