我在節點應用程序和包中廣泛使用了co,我想用async/await使用正則表達式更新其中的一些,如果可能的話。正則表達式用`異步函數...'代替`co(函數* ...)``
來自co的yield
只是一個簡單的替換await
。正則表達式部分帶有co(function *...)
,應該替換爲async function ...
,...
保持不變。
最後的)
是棘手的部分,因爲在函數內部會有很多其他的)
。正則表達式將不得不檢查(
並忽略下一個)
,直到找到沒有一對的)
。
一個簡單的黑客將與(async function
更換co(function *
,但後來我還是需要在很多地方,以取代(async ...)
與async ...
,我不知道如何解決,去年)
。
我敢肯定,一個正則表達式專家會發現這個微不足道的,它會有利於每個人升級到異步/等待!
不,「......」部分絕對不平凡。通過JavaScript解析器解決這個問題比使用正則表達式更好。嘗試尋找例如一個能夠做到這一點的巴貝爾插件,或者寫你自己的。 – Bergi
如果沒有辦法讓第一個'''沒有一對並捕獲中間文本,那麼我將不得不採取一種程序化的方法。如果沒有其他解決方案,我可能會將其打包並將其發回。 – Kesarion