为了账号安全,请及时绑定邮箱和手机立即绑定

XHR 对象的 send 方法何时调用对于结果都一样吗?

XHR 对象的 send 方法何时调用对于结果都一样吗?

紫衣仙女 2018-12-12 18:19:21
起因是看了 阮一峰的一篇文章提到了这样的说法,我当时觉得这种说法是有问题的,因为 req 是一个对象,js按照顺序执行,如果在请求发出前指定对应的事件回调函数,那么这个请求的 onload/onerror 应该都是默认为空的才对。于是我用这样的代码测试了一下:// 1var req = new XMLHttpRequest();req.open('GET', 'https://segmentfault.com/'); req.send();req.onload = function (res){console.log(res)}; req.onerror = function (){}; // 2var req = new XMLHttpRequest();req.open('GET', 'https://segmentfault.com/'); req.onload = function (res){console.log(res)}; req.onerror = function (){}; req.send();发现两者都有返回值,也就是说两者都有回调函数。底下的回复中也有人提出了和我类似的看法,他有提及了 缓存的因素。如下:想请教一下大家的看法。谢谢
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

send 出去之后哪怕马上有应答也是异步的,必然会在这段代码之后执行回调。


结合这个理解


var o = {}

setTimeout(() => o.hello(), 0)

o.hello = () => console.log('hello')


查看完整回答
反对 回复 2019-01-14
  • 1 回答
  • 0 关注
  • 445 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信