正则表达式用`async function ...`替换`co(function * ...)`

时间:2017-08-16 12:24:16

标签: node.js regex async-await

我已经在节点应用和程序包中广泛使用co,如果可能的话,我想使用正则表达式使用async / await更新其中一些。

来自co的.Where(t => t.Name == "MyValue") 只是yield的简单替换。正则表达式部分附带await,应替换为co(function *...)async function ...保持不变。

最后...是棘手的部分,因为函数内部会有许多其他)。正则表达式必须检查)并忽略下一个(,直到找到没有对的)

一个简单的黑客就是用)替换co(function *,但是我仍然需要在很多地方用(async function替换(async ...),而且我和#39;我不确定如何处理最后async ...

我确信一个正则表达式专家会发现这个微不足道的事情,并且每个升级到async / await的人都会受益!

1 个答案:

答案 0 :(得分:1)

我为此任务做了package

安装:

npm i co-async-migrate -g

执行命令

co-async-migrate /path/to/dir

它应该在目录中的所有文件中用async / await替换co / yield。