【发布时间】:2019-12-16 22:38:01
【问题描述】:
我有一行代码使用await fetch()。我正在使用一些脚本注入来调用 eval("await fetch ...etc..." ),但问题是 await从 eval() 调用。
因此,我们的目标是不使用await重写这一行。该怎么做?
( await fetch( ff_url, ff_params ) )
.json()
.then( data => window.items_list = data.items );
Upd:此代码与 AutoHotkey 一起使用。无需将行拆分为两行(在 JavaScript 或 AutoHotkey 中均不拆分)以检查 fetch 是否已经完成,因为在我的情况下(AutoHotkey + JS)我认为定期验证 window.items_list 是否有值或仍然更简单未定义:D
附:感谢您的回答,它工作正常!
【问题讨论】:
-
你能发布更多的代码上下文吗?您是否希望
eval命令等到提取完成后再进入下一行? -
Responses from this question 可以帮到你:)
-
@CertainPerformance,更新了帖子:这是通过 AutoHotkey 进行的注入。因此,我确定不需要将行分成两个 eval - 在 fetch 完成之前和之后 - 因为无论如何(直到不支持 await)我都需要手动验证 window.items_list 的值,如下所示: loop { if(PageInst.Evaluate("typeof window.items_list === 'undefined'").Value == false) { break } Sleep, 150 }
-
@UlysseBN 谢谢,我会读到的:D 目前,Promises 和 operator => 对我来说是最困难的话题,除了回调 :)
标签: javascript promise async-await fetch autohotkey