【gulp】Did you forget to signal async completion?
阿新 • • 發佈:2020-12-18
技術標籤:NodeJS初步認識gulp
Did you forget to signal async completion?問題解決
問題出現
在學習使用前端自動化工具gulp時,測試一個task時,控制檯顯示如下提示:
查閱Stack Overflow,有以下幾種解決辦法。
現象
原始碼(gulpfile.js):
// 複製資料夾
gulp.task('copy',()=>{
gulp.src('./src/images/*')
.pipe(gulp.dest('dist/images'));
gulp.src('./src/lib/*')
. pipe(gulp.dest('dist/lib'));
})
報錯
修改後的程式碼
// 複製資料夾
gulp.task('copy',async ()=>{
await gulp.src('./src/images/*')
.pipe(gulp.dest('dist/images'));
await gulp.src('./src/lib/*')
.pipe(gulp.dest('dist/lib'));
})
控制檯輸出
總結
在執行檔案拷貝時需要一定的時間,而js的語法規範規定js是非同步執行任務的,這就會提示你在執行操作時不要忘了這個單執行緒非同步任務。