我正在尝试实现与您通过核心fs模块获得的方法类似的方法,其中默认情况下您具有Async方法,并且在需要时具有Sync方法,例如fs.readDir()
和fs.readDirSync()
; < / p>
我有一个名为fetchUrls
的方法,该方法从URL列表中获取文件并返回Promise。我想添加另一个名为fetchUrlsSync
的方法,该方法调用fetchUrls并阻塞线程,直到承诺被解决为止。该怎么办?
示例代码:
fetchUrls(startDate, endDate) {
return new Promise((resolve, reject)=> {
// some async work...
})
}
fetchUrlsSync() {
// call fetchUrls and block until resolved
}
这两个函数是类上的方法。
答案 0 :(得分:2)
这不可能直接在node.js中实现。这也违反了节点中将异步执行所有IO的通用模型。
不过,可以使用编译后的Node.js扩展名来实现此功能,称为http-sync
。