laya吧 关注:37贴子:134
  • 1回复贴,共1

转自LayaAir:Typescript写类似LayaAir里Laya.Handler.create求助

只看楼主收藏回复

苦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?
}


IP属地:北京1楼2019-11-22 15:18回复
    通过看Function的定义知道了!写成:doFunction[i](...args[i]);就行


    IP属地:北京2楼2019-11-22 15:30
    回复