如何理解這句話:Are your tasks running before the dependencies are complete? Make sure your dependency tasks are correctly using the async run hints: take in a callback or return a promise#or event stream.
gulpjs中文網的翻譯:你的任務是否在這些前置依賴的任務完成之前運行了?請一定要確保你所依賴的任務清單中的任務都使用了正確的非同步執行方式:使用一個 callback,或傳回一個 promise 或 stream。我有些摸不著頭腦。如果沒有使用callback或回傳promise/stream,那這個任務就不是非同步任務了?
還有gulp.task('mytask',['beforemytask']),表示beforemytask執行完了再去執行mytask,有點同步的味道,但是beforemytask需要使用正確的非同步方式?
懵B,求大神解惑
#
是的。 gulp 任務序列執行依賴 Orchestrator,會對函數有無參數(callback)和回傳值(promise/stream)做判斷,從而決定是不是非同步。
需要偵測 beforemytask 結束,確保 mytask 在後面執行就用上面的方式,否則任何方式都可以。
必須按照依賴關係處理,這裡用同步去理解,我覺得沒有問題,這是我的一點理解,僅供參考
下面舉個例子