Node.js `fs extra`integrate with`bluebird`got`无法读取属性';然后';未定义的`错误
这是我的密码Node.js `fs extra`integrate with`bluebird`got`无法读取属性';然后';未定义的`错误,node.js,promise,bluebird,fs-extra,Node.js,Promise,Bluebird,Fs Extra,这是我的密码 var Promise = require('bluebird'); var fse = Promise.promisifyAll(require('fs-extra')); fse.remove('./myDir').then(function () { console.log('Remove myDir done.') }); 我总是得到TypeError:无法读取未定义的属性“then”error 版本: node: v6.9.2 bluebird: 3.4.7 fs
var Promise = require('bluebird');
var fse = Promise.promisifyAll(require('fs-extra'));
fse.remove('./myDir').then(function () {
console.log('Remove myDir done.')
});
我总是得到TypeError:无法读取未定义的属性“then”
error
版本:
node: v6.9.2
bluebird: 3.4.7
fs-extra: 1.0.0
我搜索并找到了一个相似但不完全相同的答案,我尝试了这个答案,不幸的是,它不能解决我的问题
我遗漏了什么吗?我发现正确的方法是
fse.removeAsync
,将Async
后缀添加到fse.remove
,请参阅bluebird API。希望它能帮助别人
更新:
使用最新的fs extra
,我不再需要导入bluebird
。
请看,下面的语法工作得很好
// Promise Usage
fs.remove('/tmp/myfile')
.then(() => {
console.log('success!')
})
.catch(err => {
console.error(err)
})
我发现正确的方法是
fse.removeAsync
,将Async
后缀添加到fse.remove
,请参阅bluebird API。希望它能帮助别人
更新:
使用最新的fs extra
,我不再需要导入bluebird
。
请看,下面的语法工作得很好
// Promise Usage
fs.remove('/tmp/myfile')
.then(() => {
console.log('success!')
})
.catch(err => {
console.error(err)
})
这是我的错,我忘了给
fse添加Async
-后缀。remove
方法,正确的方法应该是fse.removeSync
,请看这是我的错,我忘了给fse.removeSync
-后缀。remove方法,正确的方法应该是fse.removeSync
,请看