위에서 설명한 내용을 수행 할 수있는 최소한의 예제를 만들려고합니다. 이러한 목적을 위해, 여기에 내가 1node.js에서 async.parallel에 인수 전달
입니다부정적인 출력에보고 싶은 결국 최소한의 예를 들어, 내 시도하는 것은 -1
플러스 2 중 하나가 3
내 코드는 다음과 같습니다.
var async = require('async');
var i, args = [1, 2];
var names = ["negative", "plusOne"];
var funcArray = [
function negative(number, callback) {
var neg = 0 - number;
console.log("negative of " + number + " is " + neg);
callback(null, neg);
},
function plusOne(number, callback) {
setTimeout(function(number, callback) {
var onemore = number + 1
console.log("plus one of " + number + " is " + onemore);
callback(null, onemore);
}, 3000);
}];
var funcCalls = {};
for (i = 0; i < 2; i++) {
funcCalls[names[i]] = function() {
funcArray[i].apply(this, args[i]);
};
}
async.parallel(funcCalls, function(error, results) {
console.log("Parallel ended with error " + error);
console.log("Results: " + JSON.stringify(results));
});
이름이 지정된 개체를 async.parallel에도 전달하고 있습니다. 배열을 전달하면 (그리고 완전히 이름을 잊었을 때) 나에게도 해답이 될 것이지만, 나는 그러한 객체를 전달하는 것에 더 관심이있다.
내 목표를 달성하기위한 아이디어가 있습니까?
을
async.apply
를 사용할 수 있습니까? – thefourtheye당신이 필요로하는 것이면'f.name'을 가진 함수의 이름을 얻을 수 있습니다 ...하지만 당신이하고 싶은 것을 이해하는지 모르겠습니다. – elclanrs
제목에서 async.parallel이라고 부르는 각 함수에 다른 인수를 전달하려고합니다. 그래서, 나는'negative (1, cb)'와'plusOne (2, cb)'와 병렬로 실행하고 싶다. 이해가 되니? 일부 피어의 등록 중에 다른 컬렉션의 개체를 병렬로 만들려고한다는 아이디어가 있습니다. 그런 함수에 전달하려는 (단일) 인수를 적어두고 async.parallel로 호출 할 수 있습니다. 코드를 훨씬 더 깔끔하게 만듭니다. 내가 말하는 말을 이해하게 되니? – MightyMouse