账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    fetch终止请求?
    • 2020-01-01 00:00
    • 11
    37
    0

    通过AbortController停止请求,后端/a用setTimeout模拟慢请求,
    点击button2阻止请求,能够catch到错误aborted,但是实际上浏览器
    仍然会返回接口/a数据(后端定时器到时),这是不是不算停止请求,还是模拟超时不对
    `

    const button1=document.querySelector('#button1')
    const button2=document.querySelector('#button2')
    const controller = new AbortController();
    let signal = controller.signal;
    button1.addEventListener('click',async ()=>{
     fetch('/a',{signal}).then(async v=>{
     console.log(await v.json())
    }).catch(e=>{
      console.log(e.message)
    })
    })
    //stop
    button2.addEventListener('click',async ()=>{
      controller.abort();
    })`
    
    
    
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 火星引力 普通会员 1楼

      在JavaScript中,你可以使用request对象的end方法来终止一个fetch请求。这个方法会关闭浏览器的默认重定向和续传设置。

      以下是一个例子:

      javascript fetch('https://example.com') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error));

      在这个例子中,我们首先使用fetch函数从指定的URL获取数据。然后,我们使用then方法对获取的数据进行处理。最后,我们使用catch方法处理可能出现的任何错误。

      请注意,end方法只能用于fetch方法。如果你使用的是其他的JavaScript库,可能需要使用不同的方法来终止请求。例如,在Node.js中,你可以使用Promise.all函数来等待所有请求完成。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部