在此处输入代码我有以下代码
function a(){alert("a");}
我想创建一个函数 b 作为
function b(){alert("a"); alert("b");}
我的方法是
var b = a + alert("b");
这当然行不通。但我想知道是否有某种图书馆支持这一点。
编辑:也许我需要描述我的场景,以便更清楚我想要实现的目标。
我正在使用 async.js 库来处理多个异步调用。我的代码看起来像
var values = {};
...
function all() {
var allDfd = $.Deferred();
async.parallel(
[function (callback) {
remoteCall(function (result) {
values.v1 = result;
callback(null, 'one');
});
},
function (callback) {
remoteCall(function (result) {
values.v2 = result;
callback(null, "two");
});
},
function (callback) {
remoteCall(function (result) {
values.v3 = result;
callback(null, "three");
});
}], function (err, results) {
allDfd.resolve();
});
return allDfd.promise();
}
显然有很多重复的代码让我很困扰。所以我的想法是创建一个函数 asyncCall 来执行样板任务。这个想法是
var values = {};
...
function all() {
var allDfd = $.Deferred();
function getAsyncCall (func, innerCallback, callback) {
return function asyncCall(func, innnerCallback, callback){
func(innerCallback + callback(null)); // combine innerCallBack and callback code
}
}
async.parallel(
[getAsyncCall(remoteCall, function(result){values.v1=result;},callback),
getAsyncCall(remoteCall, function(result){values.v2=result;},callback),
getAsyncCall(remoteCall, function(result){values.v3=result;},callback),
], function (err, results) {
allDfd.resolve();
});
return allDfd.promise();
}
有评论的那一行是我在思考的。我正在尝试创建一个结合内部和外部回调的新函数。