假设我正在使用Promisified API来制作Ajax Request,即使这样,event-loop仍然会调用普通的旧XMLHttpRequest.onreadystatechange,对吗?
我的意思是,Promisfying是一种用顺序方式编写代码的好方法,但是在幕后发生的仍然是普通的旧机制,对吗?有点像class在ECMASCRIPT 6中的语法。换句话说,核心API仍然是相同的?
我看不出我们如何将Promise直接注册到event-loop,因为应该有一些逻辑来“解决”或“拒绝”,所以一个简单的包装器必须存在,它也可以实现一个承诺,我不知道它是否会导致太多的承诺
发布于 2018-02-06 13:00:24
假设我正在使用Promisified来发出Ajax请求,即使这样,事件循环仍然会调用普通的旧XMLHttpRequest.onreadystatechange,对吗?
有几种方法可以发出Ajax请求。
以XHR为中心的库可以使用readystatechange事件。它可以使用load和error事件。
基于承诺的Ajax库可以完全避免XHR。
它可以使用JSONP。
fetch在浏览器中是本机支持的,是基于承诺的,而且不接近XHR。
有点像ECMASCRIPT 6中的类语法。换句话说,核心API仍然是相同的?
不是的。
承诺是一个标准化的API,而不仅仅是不同的语法来完成与现有代码相同的事情。
https://stackoverflow.com/questions/48643125
复制相似问题