我已经在节点应用和程序包中广泛使用co,如果可能的话,我想使用正则表达式使用async / await更新其中一些。
来自co的.Where(t => t.Name == "MyValue")
只是yield
的简单替换。正则表达式部分附带await
,应替换为co(function *...)
,async function ...
保持不变。
最后...
是棘手的部分,因为函数内部会有许多其他)
。正则表达式必须检查)
并忽略下一个(
,直到找到没有对的)
。
一个简单的黑客就是用)
替换co(function *
,但是我仍然需要在很多地方用(async function
替换(async ...)
,而且我和#39;我不确定如何处理最后async ...
。
我确信一个正则表达式专家会发现这个微不足道的事情,并且每个升级到async / await的人都会受益!
答案 0 :(得分:1)
我为此任务做了package。
安装:
npm i co-async-migrate -g
执行命令
co-async-migrate /path/to/dir
它应该在目录中的所有文件中用async / await替换co / yield。