首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我们使用承诺时,XMLHttpRequest.onreadystatechange还会被调用吗?

当我们使用承诺时,XMLHttpRequest.onreadystatechange还会被调用吗?
EN

Stack Overflow用户
提问于 2018-02-06 12:29:37
回答 1查看 124关注 0票数 0

假设我正在使用Promisified API来制作Ajax Request,即使这样,event-loop仍然会调用普通的旧XMLHttpRequest.onreadystatechange,对吗?

我的意思是,Promisfying是一种用顺序方式编写代码的好方法,但是在幕后发生的仍然是普通的旧机制,对吗?有点像classECMASCRIPT 6中的语法。换句话说,核心API仍然是相同的?

我看不出我们如何将Promise直接注册到event-loop,因为应该有一些逻辑来“解决”或“拒绝”,所以一个简单的包装器必须存在,它也可以实现一个承诺,我不知道它是否会导致太多的承诺

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 13:00:24

假设我正在使用Promisified来发出Ajax请求,即使这样,事件循环仍然会调用普通的旧XMLHttpRequest.onreadystatechange,对吗?

有几种方法可以发出Ajax请求。

以XHR为中心的库可以使用readystatechange事件。它可以使用loaderror事件。

基于承诺的Ajax库可以完全避免XHR。

它可以使用JSONP。

fetch在浏览器中是本机支持的,是基于承诺的,而且不接近XHR。

有点像ECMASCRIPT 6中的类语法。换句话说,核心API仍然是相同的?

不是的。

承诺是一个标准化的API,而不仅仅是不同的语法来完成与现有代码相同的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48643125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档