首页 > 试题广场 >

在标准的 JavaScript 中, Ajax 异步执行调用

[单选题]
在标准的 JavaScript 中, Ajax 异步执行调用基于下面哪一个机制才能实现?
  • Event和callback
  • 多线程操作
  • 多CPU核
  • Deferral和promise
JavaScript单线程的,浏览器实现了异步的操作,整个js程序是事件驱动的,每个事件都会绑定相应的回调函数,
发表于 2019-01-07 20:11:12 回复(2)
可以看一下这篇文章http://www.alloyteam.com/2014/05/javascript-promise-mode/
发表于 2017-01-23 23:09:00 回复(2)
promise不是后来才提出来的标准?
es6之前不都还是在用回调函数?
Defer也是jQuery后来才搞出来的。
这个答案没看懂。
发表于 2017-03-13 21:01:01 回复(2)
说实话这道题是不明确的,ajax 和 promise 是两种不同的事件模式,ajax 回调是作为一个 task ,而 promise 是作为一个 microtask。具体可以参见我写的文章 http://www.cnblogs.com/dong-xu/p/7000139.html
发表于 2017-06-22 11:23:51 回复(0)
这题不是选A?
发表于 2017-02-10 10:07:44 回复(0)
ajax出来时还没有promise,ajax是基于XMLHttpRequest实现的。
XMLHttpRequest是一个类

var xhr = new XMLHttpRequest()
xhr.open('get', 'http://www.baidu.com?wd=什么东西')
xhr.send()

此时就已经发了异步的ajax请求了
这哪里有event和callback

异步请求依赖的是浏览器的http线程模块,明显是多线程
发表于 2021-12-24 23:54:38 回复(0)
JavaScript是单线程的,浏览器实现了异步的操作,整个js程序是事件驱动的,每个事件都会绑定相应的回调函数
发表于 2019-08-26 12:11:53 回复(0)

deferral是defer的名词形式. js中没有deferral, defer在jq里有。所以D是错的。

A里的event并非DOM event,而是event loop里的event。可近似理解为所有的语句执行

编辑于 2019-04-23 10:33:53 回复(0)
D promise延迟异步计算结果
发表于 2016-12-22 17:28:18 回复(0)
早期的ajax利用的是回调函数
发表于 2022-08-13 22:19:34 回复(0)
deferred对象是JQuery的回调函数解决方案,解决了如何处理耗时操作的问题。
promise:可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
发表于 2022-06-14 11:14:09 回复(0)
a
发表于 2021-09-07 00:24:34 回复(0)
感觉底层不是多线程吗....
发表于 2018-06-15 13:34:39 回复(2)
事件 onreadystatechange
发表于 2018-04-02 21:54:42 回复(0)
没懂
发表于 2017-03-28 15:06:18 回复(0)
http://www.alloyteam.com/2014/05/javascript-promise-mode/
发表于 2017-03-04 22:46:24 回复(0)