節點的fs.exists函數不遵循通常的回調函數回調函數只獲取帶有true或false的參數,而不是通常的錯誤和結果。正因爲如此,我無法弄清楚如何在sync.await中使用它。如何將節點的fs.exists與synchronize.js結合使用?
有沒有簡單的方法來使用sync.await與不遵循正常節點回調約定的函數?
此代碼:
var alreadyExists = sync.await(fs.exists(fileName, sync.defer()));
導致錯誤:
Error: done() invoked with non-Error: true
因爲sync.defer()代替錯誤的得到了一個布爾值。
注意:是的,fs.exists將來會被棄用。這是一個不同的話題。
僅供參考,請參閱討論[這裏](https://開頭的NodeJS .org/api/fs.html#fs_fs_exists_path_callback)有關如何使用fs.exists()是一個充滿併發問題的反模式。 – jfriend00