最近自己试验性的写了一个可以实现同步调用的JS函数。
使用的递归的原理。
var syncExe = function(){ var fLen = arguments.length; var exe = function(funcs,count,sum,retval){ if(!!retval){ if(!('return' in exe)){ exe['return'] = []; } exe['return'].push(retval); } if(count == sum){ return; }else{ funcs[count](function(str){ count++; exe(funcs,count,sum,str); }); } } exe(arguments,0,fLen); return exe['return']; };