Node.js 为什么节点RxJS.subscribe()没有被bindNodeCallback()触发?

Node.js 为什么节点RxJS.subscribe()没有被bindNodeCallback()触发?,node.js,rxjs,observers,Node.js,Rxjs,Observers,我正在学习如何在Node中使用RxJS。查看示例(,),到目前为止,我无法触发.subscribe()中的“results”或“err”方法: 我使用的是“rxjs”:“^6.4.0”,节点v10.14.2 如何更改此代码,以便我的观察者观察配置文件加载?您应该使用readFile而不是readFileSync,因为readFileSync不能与回调一起工作 发布问题本身有时有助于回答问题。如果我使用fs.readFile而不是fs.readFileSync,所有这些都可以正常工作。请帮我解释一

我正在学习如何在Node中使用RxJS。查看示例(,),到目前为止,我无法触发.subscribe()中的“results”或“err”方法:

我使用的是
“rxjs”:“^6.4.0”
,节点v10.14.2


如何更改此代码,以便我的观察者观察配置文件加载?

您应该使用readFile而不是readFileSync,因为readFileSync不能与回调一起工作


发布问题本身有时有助于回答问题。如果我使用
fs.readFile
而不是
fs.readFileSync
,所有这些都可以正常工作。请帮我解释一下为什么会出现这种情况作为答案?你可能会发现这篇文章很有趣
const fs = require('fs');
const { bindNodeCallback } = require('rxjs');

const configPath = './config/config.yml';
const configEncoding = 'utf8';

// also tried with bindCallback()...
const readFileSync = bindNodeCallback(fs.readFileSync);

readFileSync(configPath, configEncoding)
.subscribe(
  results => console.log(results), 
  err => console.error(err)
);

// temporary, exits immediately otherwise
// hmmm clue to the above not being correct?...
setInterval(() => { let keep = 'going'; }, 1000);