Non posso per la vita di me trovare la risposta a questo. Come si passa un parametro alla funzione iteratore per async.each utilizzando il modulo nodo async.js di caolan? Voglio riutilizzare l'iteratore ma è necessario salvare le cose con un prefisso diverso basato sul contesto. Quello che ho trovato è:Come si passa un argomento alla funzione iteratore per async.each?
async.each(myArray, urlToS3, function(err){
if(err) {
console.log('async each failed for myArray');
} else {
nextFunction(err, function(){
console.log('successfully saved myArray');
res.send(200);
});
}
});
function urlToS3(url2fetch, cb){
//get the file and save it to s3
}
Quello che mi piacerebbe essere in grado di fare è:
async.each(myArray, urlToS3("image"), function(err){
if(err) {
console.log('async each failed for myArray');
} else {
nextFunction(err, function(){
console.log('successfully saved myArray');
res.send(200);
});
}
});
function urlToS3(url2fetch, fileType, cb){
if (fileType === "image") {
//get the file and save it to s3 with _image prefix
}
}
ho trovato qualcosa di una domanda simile per CoffeeScript ma la risposta non ha funzionato. Sono aperto a refactoring nel caso in cui sto cercando di fare qualcosa che non è solo idiomatico, ma sembra una cosa così logica da fare.
Grazie, ha funzionato perfettamente. Bel, codice SECCO. Restituire diverse funzioni come suggerito da @nirk avrebbe comportato il tipo di duplicazione del codice che speravo di evitare. Grazie! – CleanTheRuck
Perché funziona? – Startec
@Startec vedere [questa documentazione] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Partial_Functions) – robertklep