CNode

co 中使用while 不停的yield redis.brpop(name)

问答
Jjizhuofeng发布于10 年前最后回复10 年前3 回复4439 浏览0 收藏

在co里面 使用 while(true){ let result = yield redis.brpop(name) ; handle(result); } while里面调用redis 队列的阻塞接口, 等待结果返回 然后对接口进行处理 handle里面可能还会用到yield

形如: co(function*(){ while(true){ let result = yield redis.brpop(name) ; handle(result); } }) 这样会有什么问题么? 求大侠指导!!!! 常见的一般都是 co的function里面都是有限个 yield , 遇到这种 不定的yield 会不会有问题

查看回复

回复 (3)

J
jizhuofeng#1·10 年前

使用 async.doWhilst() + redis.brpop 控制流程有遇到过, 但是使用co该如何控制呢? 求大神指点迷津

M
magicdawn#2·10 年前

一直 yield 也没事

C
captainblue2013#3·10 年前

V8说,yield我优化不了。

不过也无所谓

参与回复
登录后即可参与回复。登录