From 9003083a93d1c19c3161f6a2c692bc158c7ba945 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 27 Sep 2013 06:46:47 +0000 Subject: [PATCH] feature(util) exec: any count of args --- lib/util.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) 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); } }