web面试常见问题补充
jquery Ajax
$ajax({
Url:”test.html”,-----发送请求的地址
Async:true;------异步操作
Cache:true,-----可以从缓冲中加载
Type:”GET”,------请求方法
Datatype:”json”,-------服务器返回数据类型
Sucess:function(data){ ----------调用成功语句
If(data==”OK”){
Console.log(data);
}
},
error:function(data){-----------------------(error:function(XMLHttpRequest, textStatus)失败语句
If(data==”OK”){
Console.log(data);
}
},
complete:function(data){--------------结束语句
If(data==”OK”){
Console.log(data);
}
},
})
$.get(
Url:”test.html”,{name:”xsx”,age:”19”},function(data){
Console.log(data);
})
$.post(
Url:”rest.xml”,{uname:”xsx”,age:”20”},function(data){
If(data==”OK”){
Console.log(data);
}
})
Jquery Deferred(jquery promis)
$.Deferred()返回一个对象,我们可以称之为Deferred对象,上面挂着一些熟悉的方法如:done、fail、then等。jquery就是用这个Deferred对象来注册异步操作的回调函数,修改并传递异步操作的状态。
有一个弊端,因为执行runAsync()可以拿到def对象,而def对象上又有resol方法,可以在外部进行修改,回调函数会停止。
jquery提供了一个promise方法,就在def对象上,他可以返回一个受限的Deferred对象,所谓受限就是没有resolve、reject等方法,无法从外部来改变他的状态
Function run(){
Var def=$.Deferred();
setTimeout(function(){
Console.log(“执行完成”);
def.resolve=”随便什么都行”;
},2000);
Return def.promise();
}
run.done(function(){
console.log(“执行成功”)
})
.fail(function(){
Console.log(“函数失败”);
})
$when方法
jquery中,还有一个$.when方法来实现Promise,与ES6中的all方法功能一样,并行执行异步操作,在所有的异步操作执行完后才执行回调函数。不过$.when并没有定义在$.Deferred中,看名字就知道,$.when,它是一个单独的方法。与ES6的all的参数稍有区别,它接受的并不是数组,而是多个Deferred对象
$.when(runAsync(), runAsync2(), runAsync3())
.then(function(data1, data2, data3){
console.log('全部执行完成');
console.log(data1, data2, data3);
});
总结一下就是:$.Deferred实现了Promise规范,then、done、fail、always是Deferred对象的方法。$.when是一个全局的方法,用来并行运行多个异步任务,与ES6的all是一个功能。ajax返回一个Deferred对象,success、error、complete是ajax提供的语法糖,功能与Deferred对象的done、fail、always一致。就酱。
参考网址:http://www.cnblogs.com/lvdabao/p/jquery-deferred.html
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
转载于:https://www.cnblogs.com/xieshuxin/p/6705715.html
web面试常见问题补充相关推荐
- python面试常见问题-Python面试常见问题,涉及Python各个方面
原标题:Python面试常见问题,涉及Python各个方面 爬虫面试常见问题 一.项目问题: 1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎样解决的 2.用的什么框架.为什么选择这个框架 二.框架问 ...
- 网路学员面试常见问题:
网路学员面试常见问题: 1.请你修改一下LINUX的视频驱动和声音驱动 答: redhatlinux中用sndconfig来设置声卡,如果没有某个模块,就需要重新编译内核(编译最新发布的linux 内 ...
- html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇
原标题:html5面试常见问题及答案:移动端布局与适配篇 1. 移动布局自适应不同屏幕的几种方式 (1)响应式布局 (2)100%布局(弹性布局) (3)等比缩放布局(rem) 2. iscroll安 ...
- linux调整网页视频声音,网络学员面试常见问题请你修改一下LINUX的视频驱动和声音.DOC...
网络学员面试常见问题请你修改一下LINUX的视频驱动和声音 网络学员面试常见问题: 1.请你修改一下LINUX的视频驱动和声音驱动 答: redhatlinux中用sndconfig来设置声卡,如果没 ...
- Web 面试之 HTTP和浏览器
Web 面试之 HTTP和浏览器 前言 一.HTTP 1.说说网络分层模型? 2.HTTP 常见的状态码有哪些? 2.HTTP 常见的 header 有哪些? 3.什么是 Restful API? 4 ...
- 数字集成电路面试常见问题_关于空间级集成电路的常见误解
数字集成电路面试常见问题 对集成电路辐射硬度的常见误解 (Common misconceptions on the radiation hardness of integrated circuits) ...
- HUNER翻译软件测试面试题,外企测试面试常见问题及回答(英文)
<外企测试面试常见问题及回答(英文)>由会员分享,可在线阅读,更多相关<外企测试面试常见问题及回答(英文)(5页珍藏版)>请在人人文库网上搜索. 1.外企测试面试常见问题及回答 ...
- Web 面试之 JavaScript
Web面试之 JavaScript 前言 一.变量类型和计算 1.JS 数据类型有哪些?存储上的区别? 2.值类型和引用类型区别? 3.null 和 undefined 的区别? 4.NaN 是什么的 ...
- 中职计算机平面设计教师考试面试,中职教师面试常见问题
中职教师面试常见问题 在中职教师面试中如何更好的突出自己呢?中职教师面试会问哪些问题?以下是小编为你整理的中职教师面试常见问题,希望能帮到你. 中职教师面试常见问题 1.学生记忆有什么特点?学科教学如 ...
最新文章
- 三阶魔方还原步骤图_(六)最简单的三阶魔方入门教程——顶面还原
- 02-UILabel比例颜色填充之歌词效果实现
- linux安装openssh 密码错误,Linux安装openssh的后门补丁
- 【Attention】Visual Attention Network
- DIV Scroll属性
- Linux ls常见的命令选项【转载】
- EntboostChat 0.9(越狱版)公布,iOS免费企业IM
- 《精通LabVIEW虚拟仪器程序设计与案例实现》一2.1 LabVIEW安装
- python 根据父子信息 还原成json树
- 软件工程——瀑布模型、快速原型模型、增量模型、螺旋模型
- 微信小程序实时音视频功能简析(live-pusher与live-player)
- 雷达篇(十) dB和dBm的意义,功率W和dBm之间的换算
- 逆发动机模型map图制作
- Mac软件最全的下载网站top10
- 硬件基本概念-模拟电子电路
- 实现营业执照注册号校验
- 泰坦尼克号乘客获救预测
- 关于重装系统后部分文件呈绿色的原因
- php做到聊天发图片,网页聊天框发送表情图片实现方法
- @Autowired vs @PersistenceContext for EntityManager bean
热门文章
- ibatis mysql 同时删多个表报错_MySQL中Multiple primary key defined报错的解决办法
- 苹果忘记开机密码_苹果电脑忘记开机密码快速恢复的方法!
- lgg6 android 9,LG G6的18:9屏幕用起来到底是什么样
- 十七、PHP框架Laravel学习笔记——模型的定义
- LeetCode 2034. 股票价格波动(set + map)
- 04.卷积神经网络 W2.深度卷积网络:实例探究(作业:Keras教程+ResNets残差网络)
- LeetCode 369. 给单链表加一(递归)
- LeetCode 85. 最大矩形(DP/单调递增栈,难)
- android代理生命周期,了解 Activity 生命周期
- 使用c++查看linux服务器某个进程正在使用的内存_Linux 系统管理