6
Tôi đã cố triển khai một số mã sử dụng promise
và tôi đã sao chép một số mã nguồn từ Ghost. Nhưng khi tôi chạy nó, tôi đã nhận ra lỗi:Nodejs: đường dẫn phải là một chuỗi
Mã:
var Promise = require('bluebird')
var fs = require('fs')
var path = require('path')
var configPath = path.join(__dirname, '/config-example.js')
var configFile
function writeConfigFile(){
return new Promise(function(resolve,reject){
var read,
write,
error;
console.log('path->', configPath)
read = fs.createReadStream(configPath);
read.on('error', function(err){
console.log('Error->', err);
reject(err)
})
write = fs.createWriteStream(configFile)
write.on('error', function(err){
console.log('Error->',err)
reject(err)
})
write.on('finish', resolve)
read.pipe(write)
});
}
var p = writeConfigFile();
p.then(function(data){
console.log(data)
},function(data){
console.log('data->',data)
});
Lỗi Output
path-> /mnt/share/Learn/config-example.js
data-> [TypeError: path must be a string]
Error-> { [Error: ENOENT, open '/mnt/share/Learn/config-example.js']
errno: 34, code: 'ENOENT',
path: '/mnt/share/Learn/config-example.js' }