我正在尝试将rxjs与amqplib结合使用,以将收到的来自Rabbit的消息转换为消息流:
const connection = await amqplib.connect(constr);
const channel = await connection.createChannel();
const callBack: any = bindCallback(channel.consume);
const observalble = callBack("queue");
问题是从bindCallback返回的callBack是没有参数的方法。 这是怎么了?
我依赖于示例:
// From a callback (last argument is a callback)
// fs.exists = (path, cb(exists))
var exists = Rx.Observable.bindCallback(fs.exists);
exists('file.txt').subscribe(exists => console.log('Does file exist?', exists));
形成rxjs文档...
请帮助
im使用rxjs 6.5.2 打字稿3.4.5 amqplib 0.5.2
答案 0 :(得分:0)
这应该可以解决问题。
const connection = await amqplib.connect(constr);
const channel = bindCallback(connection.createChannel);
channel().subscribe(args => {
const err = args[0]
const ch = args[1]
if(err) throw err
const ch_observable = bindCallback(ch.consume)
ch_observable("queue").subscribe(msg => {
console.log(msg)
})
})