gpt4 book ai didi

javascript - Koa 与 Kafka - 无法产生 kafka.connect()

转载 作者:行者123 更新时间:2023-11-30 17:23:15 32 4
gpt4 key购买 nike

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

cb(err);

^
TypeError: undefined is not a function

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

最佳答案

我终于能够通过使用“thunking”让 kafkaesque 工作:

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 模式!

Node 库 thunkify 也可以使这更容易 ( https://github.com/visionmedia/node-thunkify )。

关于javascript - Koa 与 Kafka - 无法产生 kafka.connect(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24768255/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com