我在节点应用程序和包中广泛使用了co,我想用async/await使用正则表达式更新其中的一些,如果可能的话。正则表达式用`异步函数...'代替`co(函数* ...)``
来自co的yield
只是一个简单的替换await
。正则表达式部分带有co(function *...)
,应该替换为async function ...
,...
保持不变。
最后的)
是棘手的部分,因为在函数内部会有很多其他的)
。正则表达式将不得不检查(
并忽略下一个)
,直到找到没有一对的)
。
一个简单的黑客将与(async function
更换co(function *
,但后来我还是需要在很多地方,以取代(async ...)
与async ...
,我不知道如何解决,去年)
。
我敢肯定,一个正则表达式专家会发现这个微不足道的,它会有利于每个人升级到异步/等待!
不,“......”部分绝对不平凡。通过JavaScript解析器解决这个问题比使用正则表达式更好。尝试寻找例如一个能够做到这一点的巴贝尔插件,或者写你自己的。 – Bergi
如果没有办法让第一个'''没有一对并捕获中间文本,那么我将不得不采取一种程序化的方法。如果没有其他解决方案,我可能会将其打包并将其发回。 – Kesarion