koa with kafka-无法生成kafka.connect()

jqjz2hbq  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(493)

我是新来的koa,但设置了一个应用程序,使用Kafka。我在用Kafka(https://github.com/pelger/kafkaesque). 我试过了 yield* kafkaesque.tearUp() . 结果是:

cb(err);

^
TypeError: undefined is not a function

我也试过了 kafkaesque.tearUp(function *() {...}) 但是这也不起作用-只有function()风格的回调可以起作用。有没有可能以koa的方式处理这些类型的示例?如果需要,我可以处理回调,但是现在不能使用代码,因为我需要调用 yield next 连接Kafka(kafkaesque.tearup)并设置主题(kafkaesque.poll)之后。

jvidinwx

jvidinwx1#

我终于可以用“砰”的一声让Kafka的作品发挥作用了:

function tearUpThunk(kafka) {
    return function(callback) {
        kafka.tearUp(callback);
    }
}

function pollThunk(kafka, options) {
    return function(callback) {
        kafka.tearUp(options, callback);
    }
}

yield tearUpThunk(kafka) //Previously kafka.tearUp(function() {
yield pollThunk(kafka, options); //      kafka.poll(options, function() { etc.

我只需要确保每个函数都以这种方式返回回调。多亏了http://strongloop.com/strongblog/node-js-express-introduction-koa-js-zone/ 为了解释这个和其他koa模式!
节点库thunkify也可以使这更容易(https://github.com/visionmedia/node-thunkify).

相关问题