javascript - 如何将synchronize.js 与 Node 的fs.exists 一起使用?

标签 javascript node.js asynchronous fs synchronize

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/

相关文章:

javascript - 如何处理for循环中nodejs的回调函数?

c++ - C++ 中的 std::async 和 lambda 函数不提供关联状态

java - 如何在 dropwizard 中禁用 cron 作业

javascript - 在 json 数据中保存 CR/LF

javascript - ajax后在kendo ui dropdownlist控件上设置索引

javascript - 我如何在 ejs 中使用脚本功能?

c# - 将异步 HttpWebResponse 与 C# 中的 HttpWebRequest 匹配

javascript - 如何使用 javascript 获取学年

javascript - 在 javascript 中返回数组和子数组

node.js - Loopback 远程 Hook 中的下一个参数是什么?