輸入代碼hereI有以下代碼Java腳本的修改功能
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();
}
該評論的行是我所琢磨的。我正嘗試創建一個結合了內部和外部回調的新函數。