3.73K 浏览
0

上面是一个协程中的两个处理信号的异步循环:
我在协程中注册了两个异步信号,一个是分钟k线,当它变动时,根据示例用async for处理变动并生成一些信号;另一个是报价quote,当quote变动时,用async for处理并生成一些信号。两个async for都完成后,后续语句根据这些信号进行开平动作。
但在回测调试过程中,程序一直在第一个async for中循环不出来,貌似第一个async for循环直到回测结束?
我这个异步用错了吗?异步信号是无限多吗?还是async for里面要对update_chan进行判断然后主动跳出循环?如果是那么该怎么判断呢?比如当k线变动一次时,怎么判断async for对这次变动的处理完成了然后跳出循环,从而继续后续的动作呢?

管理员 已回答的问题 2019年10月28日
0

在一个协程中,async for … 这个语句是一个死循环阻塞。你的需求需要创建两个协程,在每个协程中使用 async for …

管理员 已回答的问题 2019年10月28日
您正在查看1个答案中的1个,单击此处查看所有答案。