【发布时间】:2015-11-30 20:43:45
【问题描述】:
Node 的fs.exists 函数不遵循通常的回调 回调只获取一个真或假的参数,而不是通常的错误和结果。因此,我无法弄清楚如何将它与 sync.await 一起使用。
是否有一种简单的方法可以将sync.await 与不遵循正常节点回调约定的函数一起使用?
这段代码:
var alreadyExists = sync.await(fs.exists(fileName, sync.defer()));
导致错误:
错误:done() 调用非错误:true
因为 sync.defer() 得到一个布尔值来代替错误。
注意:是的,fs.exists 将来会被弃用。那是一个不同的话题。
【问题讨论】:
-
仅供参考,请参阅here 的讨论,了解如何使用
fs.exists()是一种充满并发问题的反模式。
标签: javascript node.js asynchronous fs synchronize