Pri*_*Nom 4 filesystems fs node.js promise
无论出于何种原因,fs.promises没有调用 for 的回调,但文档没有提到只有在出现错误时才调用它,这就是我假设会发生的情况......
fsp.writeFile('test.txt', 'callback doesnt work', 'utf8', (error) => {
console.log('callback is never called')
if (error) console.error(error)
})
Run Code Online (Sandbox Code Playgroud)
这在 Node.js 版本 12.13.0 上发生(或没有发生,哈哈)。
有人知道这是什么交易吗?
fs.promises异步调用的版本返回承诺。他们不接受回调。fs如果您想使用回调,请使用常规版本。
您可以在文档中看到这里没有选项可以为 API 的 fsPromises 版本传递回调。
你应该这样做:
const fsp = require('fs').promises;
fsp.writeFile('test.txt', 'promise works', 'utf8').then(() => {
console.log("write successful");
}).catch(err => {
console.error(err);
});
Run Code Online (Sandbox Code Playgroud)
或者,在async函数内部,您可以使用try/catchandawait代替.then()and .catch()。
| 归档时间: |
|
| 查看次数: |
814 次 |
| 最近记录: |