2017-12-05 20 views
0

私はファイルを読み込もうとしていますが、プロミスベースの変換を行い、結果をストリームにプッシュします。ここに例のコードを示します。約束は解決し、私は下流何を取得し、ストリームが終了したことがないのコールバックを呼び出すようにしようといくつかの理由Gulpストリームの約束事の完了

const gulp = require('gulp') 
const gutil = require('gulp-util') 
const through2 = require('through2') 
const fs = require('fs') 

module.exports = (filePath, options) => { 

    return gulp.src(filePath) 
    .pipe(through2.obj(function (file, enc, cb) { 
     const result = file.contents.toString(enc) 
     Promise.resolve(result) 
     .then(result => { 
      cb(null, result) 
     }) 
     .catch(() => {}) 

    })) 

} 

私もthis.push(result)を試してコールバックを呼び出しましたが、それでも同じ問題があります。すべてのヘルプは、いくつかの私は、これは適切にコールバックを解決する方法であることがわかりレポutilの他のがぶ飲みを検索した後、そう

答えて

0

をいただければ幸いです。

return gulp.src(filePath) 
.pipe(through2.obj(function (file, enc, cb) { 
    const result = file.contents.toString(enc) 
    Promise.resolve(result) 
    .then(result => { 
     file.contents = new Buffer(result); 
     this.push(file) 
     cb() 
    }) 
    .catch(() => {}) 

})) 
関連する問題