私は2つのファイルリーダーと2つのプロミスを持っています。下に示すように、各ファイルリーダーに1つずつあります。javascript promise readfile
var fs1 = require('fs');
var fs2 = require('fs');
var r = new Promise(function(resolve, reject) {
fs1.readFile('reads.txt','utf8',function(e,d){
if(e) reject('E R')
else resolve(d.trim());
})
});
var w = new Promise(function(resolve, reject) {
fs2.readFile('write.txt','utf8',function(e,d){
if(e) reject('E W')
else resolve(d.trim());
})
});
Promise.all([r,w])
.then(function(q) {
console.log(q);
})
.catch(function(e) {
console.log(e);
})
これは正常に動作しますが、私は別の関数であることを読み取り、ファイルのセクションを持っていると、このような何か:
function filereader(theFS, theFilePath){
....
}
はそれが可能であり、どのように? ありがとう
コードを繰り返さないように、fs1とfs2から始まる関数を意味しますか? – Gerardo
もちろん、試してみてください。他のコードを関数に抽象化することと変わりはありません。 – Bergi
'fs1 === fs2'に注目してください。 'fs'を何度も必要とするモジュールは1つしかありません。 – Bergi