Il parametro done
non è il callback, l'anonimo function
è il callback. done
è semplicemente un argomento che è possibile passare a il metodo di callback per qualsiasi motivo.
Un compito sorso è typically defined as:
gulp.task('somename', function() {
// Do stuff
});
Nella funzione è possibile definire quale codice viene eseguito all'interno del task. Se questo codice dipende da alcun argomento, è possibile passare come parametri della funzione:
gulp.task('birthdayTask', function(name, dateOfBirth) {
doFancyStuff(name, dateOfBirth);
});
Nel tuo caso, done
è probabilmente un altro callback che viene eseguito non appena il metodo cleantask()
finito. Quindi agirà come una sorta di meccanismo di notifica quando viene eseguita la cleantask. Questo, tuttavia, non può essere derivato dal tuo codice, dal momento che non hai fornito il codice della tua funzione cleantask()
, quindi basta indovinare qui.
Ben spiegato. Grazie @Seer – Nexus23
Solo curioso, come fa a controllare e sapere se la funzione che gli ho dato ha un parametro o no? Com'è possibile in Javascript? Sembra una riflessione. –
Il callback è particolarmente utile se è necessario eseguire un processo asincrono all'interno dell'attività, mentre si desidera che l'attività attenda il completamento, prima di tornare.Altrimenti, basta restituire il flusso potrebbe essere sufficiente. Vedi anche https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support – grtjn