Node 的fs.exists函数不遵循通常的回调回调仅获取 true 或 false 的参数,而不是通常的错误和结果。因此,我不知道如何将它与sync.await一起使用。
是否有一种简单的方法可以将sync.await与不遵循正常 Node 回调约定的函数一起使用?
这段代码:
var alreadyExists = sync.await(fs.exists(fileName, sync.defer()));
导致错误:
Error: done() invoked with non-Error: true
因为sync.defer()用一个 bool 值代替了错误。
注意:是的,fs.exists 将来将会被弃用。那是另一个话题了。
最佳答案
您可以创建 partial function来自延迟回调,其中 err
参数(第一个)被预填充为 null
:
var defer = sync.defer();
var alreadyExists = sync.await(fs.exists(fileName, defer.bind(defer, null)));
关于javascript - 如何将synchronize.js 与 Node 的fs.exists 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402317/