diff --git a/lib/util.js b/lib/util.js index e9439122..574b3b09 100644 --- a/lib/util.js +++ b/lib/util.js @@ -859,17 +859,23 @@ Util = exports || {}; /** * function do save exec of function * @param pCallBack - * @param pArg + * @param pArg1 + * ... + * @param pArgN */ - Util.exec = function(pCallBack, pArg, pArg1) { - var lRet; + Util.exec = function(pCallBack) { + var lRet, lCallBack; + /* drop first element */ + [].shift.call(arguments); if (pCallBack) { - if ( Util.isFunction(pCallBack) ) - lRet = pCallBack(pArg, pArg1); + if (Util.isFunction(pCallBack)) + lRet = pCallBack.apply(this, arguments); else { - var lCallBack = pCallBack.callback || pCallBack.success; - lRet = Util.exec(lCallBack, pArg, pArg1); + lCallBack = pCallBack.callback || pCallBack.success; + /* add first element */ + [].unshift.call(arguments, lCallBack); + lRet = Util.exec.apply(this, arguments); } }