我有兩個文件讀取器和兩個Promise,每個文件讀取器都有一個,如下所示。javascript promise讀取文件
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'多次不會改變。 – Bergi