JS执行顺序-(deferred 延迟队列)
来源:互联网 发布:淘宝手柄 编辑:程序博客网 时间:2024/04/26 06:29
出现问题
函数功能:访问数据库函数(判断数据是否为空),如果为空,则执行alert语句
function a(){
isNullEmpty(); //判断数据是否为空函数;含有异步
alert(“a”);
}
function isNullEmpty()
{
..
alert("b");
...
}
异步举例:
$.ajax({
type : "GET",
url : "**",data : {
id:**
},
success : function(data, textStatus) {
alert("b");
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
}
});
后面省略
此执行结果为a b,原因是访问数据库比较慢,其他部分先执行。
解决方法:
var dtd = $.Deferred();
var wait = function(dtd){
var tasks = function(){
isNullEmpty(dtd);
};
setTimeout(tasks,0);
return dtd;
};
$.when(wait(dtd))
.done(function(){ alert("b");})
.fail(function(){ alert("出错啦!"); });
function isNullEmpty()
{
.....//不为空
alert(b);
dtd.resolve(); // 改变Deferred对象的执行状态
}
参考资料:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html(推荐) 0 0
- JS执行顺序-(deferred 延迟队列)
- Angular Js队列顺序执行函数
- LINQ之路 6:延迟执行(Deferred Execution)
- LINQ之路 6:延迟执行(Deferred Execution)
- 延迟渲染(Deferred Shading)技术详解
- 延迟渲染(Deferred Shading)技术详解
- 延迟渲染(Deferred Shading)技术详解
- 延迟渲染(Deferred Shading)技术详解
- JS延迟执行
- js延迟执行函数
- 延迟渲染(Deferred Shading)
- Deferred Decal(延迟贴花)
- Deferred Decal(延迟贴花)
- 延迟渲染(Deferred Shading)
- jQuery --deferred 延迟对象
- Deferred 延迟渲染
- js时间延迟执行函数
- js时间延迟执行函数
- C#通用类库--DOS常用命令
- C#中DataGridView控件使用大全
- 【温故而知新】C和C++6:STL中的vector容器
- 【SQL Server数据迁移】32位的机器:SQL Server中查询ORACLE的数据
- SVM(四) 支撑向量机,二次规划问题
- JS执行顺序-(deferred 延迟队列)
- 网站检测该注意的点
- Java生成UUID
- 《windows核心编程系列》谈谈内存映射文件
- Ubuntu 12.10 软件更新源列表
- 归并排序
- C/C++实现多参数函数编程
- 拉格朗日对偶
- C语言需要注意的基础知识点(兰亭风雨)