2017-04-11 11 views
0

を扱う:ノードストリーム約束のエラーは、私がこのようなコードを持っている

let generateSmth = function(len, j, stream, headers) { 

    len--; 
    j++; 

    if (len === 0) { 
     stream.write(headers.map(function(v) {return v + '_' + j;})); 
     stream.end(); 
    } else { 
     if (stream.write(headers.map(function(v) {return v + '_' + j;}))) { 
      generateSmth(len, j, stream, headers); 
     } else { 
      stream.once('drain',()=>{generateSmth(len, j, stream, headers)}); 
     } 
    } 
}; 
const fs = require('fs'), 
     myStream = fs.createWriteStream('test.txt'); 
let myPromise = new Promise((resolve, reject)=>{ 
    try { 
     generateSmth(10000, 0,()=>{ 
      resolve(()=>{ 

      }); 
     }, myStream); 
    } catch (error) { 
     reject(error); 
    } 
}); 

私はキャッチがgenerateSmth機能でエラーをキャッチするために適切な方法ではありません/試みることを学びました。しかし、私は私の機能でストリームを使用するとエラーをキャッチする方法を理解できませんか? 誰か助けてくれますか?ありがとう。あなたの約束のコンストラクタの内部

+0

先端、そして何が目的だことであるだけではなく、我々がする一種の持っているコードのブロックを貼り付けますそれがなぜそこにあるか推測してください。あなたは何を達成したいですか? –

+0

私は関数generateSmthによって生成された約10000行をファイルに書き出す必要があります。また、私は約束を使うべきです。 – Michiko

答えて

0

次の行を追加します。あなたはあなたのコードで何をしたいのかを説明し、

myStream.on('error', reject) 
関連する問題