Un compito in sorso può essere definita in questo modo:gulp: dove è definita la funzione di callback del task gulp?
gulp.task('foobar', function(callback) { ... });
Sto cercando di capire quale sia la funzione di callback è. Dove è definito? Posso passare in qualche altra funzione come argomento in fase di esecuzione? Che cosa fa?
These docs indica che l'argomento di callback è un suggerimento per Orchestrator che l'attività deve essere eseguita in modo asincrono, dove l'esecuzione del callback indica che l'attività asincrona è stata completata.
Con un po 'di sperimentazione sembra che chiamando la callback senza argomenti restituisce una condizione di successo, e chiamandolo con qualche stringa genera un errore:
gulp.task('foobar', function(callback) {
callback();
});
gulp.task('bazkad', function(callback) {
callback("some string");
});
(a parte: Come faccio a piazzare una pausa tra blocchi di codice ? in StackOverflow mark-down)
$ gulp foobar
[09:59:54] Using gulpfile ~\repos\gulpproj\gulpfile.js
[09:59:54] Starting 'foobar'...
[09:59:54] Finished 'foobar' after 56 μs
$ gulp bazkad
[10:05:49] Using gulpfile ~\repos\gulpproj\gulpfile.js
[10:05:49] Starting 'bazkad'...
[10:05:49] 'bazkad' errored after 55 μs
[10:05:49] Error: some string
at formatError (~\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:169:10)
at Gulp.<anonymous> (~\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:195:15)
at Gulp.emit (events.js:107:17)
at Gulp.Orchestrator._emitTaskDone (~\repos\gulpproj\node_modules\gulp\node_modules\orchestrator\index.js:264:8)
at ~\repos\gulpproj\node_modules\gulp\node_modules\orchestrator\index.js:275:23
at finish (~\repos\gulpproj\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:21:8)
at cb (~\repos\gulpproj\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:29:3)
at Gulp.<anonymous> (~\repos\gulpproj\gulpfile.js:35:5)
at module.exports (~\repos\gulpproj\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (~\repos\gulpproj\node_modules\gulp\node_modules\orchestrator\index.js:273:3)
Quindi, le domande che ho sono:
- Is questa è l'unica funzionalità del callback, per sollevare un'eccezione se viene passato un argomento e per completarlo correttamente altrimenti o fa qualcos'altro?
- Potrei sovrascriverlo con qualche altra funzione (e ci sarebbe una ragione ragionevole per farlo)?
Forse le mie capacità di lettura della documentazione mi stanno fallendo (non sarebbe la prima volta), ma non riesco a trovare le risposte a queste domande nei documenti API.
Grazie per qualsiasi aiuto.
Dovresti riassumere il tuo post per fare solo una domanda, anche il tuo titolo non corrisponde alla tua domanda. Cosa intendevi per pausa? –
Ho rimosso una domanda che era un po 'fuori tema, ma il resto delle domande sono abbastanza strettamente collegate. Per quanto ho capito, il titolo corrisponde a questi semplicemente bene. Forse quando vedrò una risposta capirò che non è una buona corrispondenza. – laffoyb
Con "una pausa tra i blocchi di codice" intendo che avevo due blocchi di codice che erano logicamente distinti (uno da un file sorgente, uno dalla riga di comando IO) che volevo mettere uno accanto all'altro ma con una pausa dal evidenziazione del blocco di codice per indicare che non fanno tutti parte dello stesso file. Penso che questo sia chiamato "scherma" in alcune aree? – laffoyb