【发布时间】:2018-03-27 21:22:42
【问题描述】:
NodeJS 给了我一个警告
(node:32600) [DEP0013] DeprecationWarning: 调用异步 不推荐使用没有回调的函数。
当我运行这个“测试”时:
describe('whatever', () => {
it('test simple', async () => {
const dir = './build/fileTests';
if (fs.existsSync(dir)) {
console.log(`deleting ${dir}`);
await fs.rmdir(dir);
}
});
});
好吧,我几乎同意,在没有回调的情况下使用异步函数是不好的(因为只有在 cb 内你才能确定,它发生了,继续等等......
...如果不是我故意使用ES7 async/await,因为它们使它同步,所以我可以使用我得到的任何东西...(在这种特殊情况下,我可以回避@987654322 @,但这不是我的意思...)
所以我的问题:我怎样才能摆脱这样的警告?
– 在使用 async/await 时,以一种有意义的方式...
– 处理返回值,如const r = ... 不被识别为‘回调处理’...
【问题讨论】:
-
async/await不要使异步代码同步。它可能看起来像它,但事实并非如此。 -
这让我认为回调是异步谎言
标签: javascript node.js asynchronous async-await fs