Почему Node RxJS .subscribe () не запускается с помощью bindNodeCallback ()? - PullRequest
0 голосов
/ 03 апреля 2019

Я учусь использовать RxJS с Node.Глядя на примеры ( 1 , 2 (старая версия) , 3 ), я пока не могу вызвать методы 'results' или 'err' в.subscribe ():

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);

Я использую "rxjs": "^6.4.0", узел v10.14.2.

Как я могу изменить этот код, чтобы мой наблюдатель наблюдал за загрузкой файла конфигурации?

1 Ответ

1 голос
/ 03 апреля 2019

Вы должны использовать readFile вместо readFileSync, поскольку readFileSync не работает с обратным вызовом.

https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options

...