JS怎么判断异步是否执行完成 50
我现在有一个异步执行方法,在一个函数中调用,我需要这个异步方法执行完才让其执行函数下面的代码,其中该异步方法不能修改。我怎么才能知道异步方法执行完,或者有什么方法或者我另...
我现在有一个异步执行方法,在一个函数中调用,我需要这个异步方法执行完才让其执行函数下面的代码,其中该异步方法不能修改。我怎么才能知道异步方法执行完,或者有什么方法或者我另外写一个函数调用函数判断
展开
3个回答
展开全部
使用jQuery队列就行,执行原理先进先出,按顺序执行。
jQuery(document).queue("message",function () {
jQuery.ajax({
url:ajaxurl,
data:{ action:"Show",param:Math.random() },
type:"post",
dataType:"json",
success:function(jsonNotice){
var obj = jsonNotice;
jQuery("#messagebody").empty();
jQuery.each(obj ,function(i, n) {
alert(‘sds’);
});
jQuery(document).dequeue("message");
},
error:function(){
//alert("error");
jQuery(document).queue("message", [] );
}
});
});
jQuery(document).queue("message",function () {
jQuery.ajax({
url:ajaxurl,
data:{ action:"returnCount",param:Math.random() },
type:"post",
success:function(str){
PgCount = str;
jQuery(document).dequeue("message");
},
error:function(){
jQuery(document).queue("message", [] );
}
});
});
//分页DIV
jQuery(document).queue("message",function () {
if(PgCount>0)
{
jQuery("#null_face").hide();
jQuery("#messagepage").pagination(PgCount, {
callback: pageselectCallback,
prev_text: '上一页',
next_text: '下一页',
items_per_page:5,
num_display_entries:6,
current_page:pageindex,
num_edge_entries:2
});
jQuery(document).dequeue("message");
}
else
{
jQuery("#null_face").show();
jQuery("#messagepage").empty();
}
});
jQuery(document).dequeue("message"); //触发队列
}
这是一个例子
展开全部
异步方法中设置一个变量,初始值为false。方法最后设置为true。这样就可以判断是否执行完成。完成了这个变量就变成true了,没完成就还是false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
声明一个布尔值的变量初始值为false,在这个异步方法的最后那里改变这变量的值为ture,在外面判断一下就可以了例如:
var flag=false;
function aa()
{
//异步方法要执行的代码
flag=true;
}
if(flag)
{
//异步方法结束要执行的代码
}
------------------------
不好意思,没看到该异步方法这句。。随便问一下这个异步方法有返回值吗?
var flag=false;
function aa()
{
//异步方法要执行的代码
flag=true;
}
if(flag)
{
//异步方法结束要执行的代码
}
------------------------
不好意思,没看到该异步方法这句。。随便问一下这个异步方法有返回值吗?
更多追问追答
追问
封装的唉,还没找到这个方法,上面告诉我封装的都在一个包里面,找了下没看到,应该还有一个包,有什么方法快速定位到这个方法么
追答
你用的什么软件打开的,很多软件不是有个编辑-”查找“功能的吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询