我有一行代码使用await fetch()。我正在使用一些调用eval(“ await fetch ... etc ...”)的脚本注入,但是问题是,从eval()调用await时不会进行。

因此,目标是不使用await而只重写这一行。怎么做?

( await fetch( ff_url, ff_params ) )
                                  .json()
                                  .then( data => window.items_list = data.items );


更新:此代码与AutoHotkey一起使用。无需将行分为两部分(在JavaScript或AutoHotkey中均未拆分)来检查是否已完成提取,因为在我的情况下(AutoHotkey + JS),我认为定期验证window.items_list是否有值还是仍然更简单未定义:D

附言感谢您的回答,它工作正常!

最佳答案

如果问题仅在于您无法标记方法async,则标准的Promise语法可以:

fetch(ff_url, ff_params)
    .then(x => x.json())
    .then(data => window.myvariable = data.items);


当然,您仍应确保调用方异步调用此方法并适当地处理结果(除非需要“开火”和“忘记”)。

关于javascript - 如何在没有异步的情况下编写异步fetch()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57425779/

10-13 03:31