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);
}
});
我瞭解到的try/catch是不是趕上錯誤generateSmth功能適當的方式。但我不明白如何在我的函數中使用流時捕獲錯誤? 任何人都可以幫助我嗎?謝謝。
小費,說明你想要什麼你的代碼做的,就是它的目的,而不是隻粘貼一段代碼塊,我們要種猜猜爲什麼它在那裏。你想實現什麼? –
我需要寫入由我的函數generateSmth生成的約10000行的文件。另外我應該使用Promises。 – Michiko