【问题标题】:fetch and addEventListener获取并添加事件监听器
【发布时间】:2017-11-10 10:52:01
【问题描述】:

我在https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Response_objects 中读到,您可以使用 addEventListener 在发生提取时触发。

我正在玩它,但我无法让它开火。这是代码。我也在用 Chrome

addEventListener('fetch', event => alert('test'));

【问题讨论】:

标签: javascript ajax google-chrome fetch


【解决方案1】:

您示例中的 fetch 事件仅在 Service Worker 中触发。发生提取时,不会在普通网页上触发内置事件。

但是,您可以覆盖全局 fetch 函数,以便它执行您想要的操作。

window.fetch = new Proxy(window.fetch, {
    apply(fetch, that, args) {
        const result = fetch.apply(that, args);
        
        result.then((response) => {
            console.log("fetch completed!", args, response);
        });
        
        return result;
    }
});

每次提取完成时都会打印到控制台。

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多