能否知道一个函数是否执行完毕?

hansonboy 2006-10-26 02:26:54
function test(){
alert('ok');
return true;
}
setTimeout(test,1000);
//在这里有没有办法知道test什么时候执行完毕?
...全文
346 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hansonboy 2006-10-31
  • 打赏
  • 举报
回复
不太明你的意思, 我说有div只是一个例子,我有办法取得上一个和下一个要处理的进程, 我现在全把它们放在一个数组里面了,数组里的数据都是一个处理过程,就是一个函数, 现在就想怎样才能一个一个执行它们,不能同时执行我个, 这样也会占用太多的CPU了.

而我程序里有几处需要这样做法, 如果只有一处的话我用上面我提到的用个回调函数就很好了, 主要不想要让浏览器处理过程中全占了CPU,
Apq001 2006-10-31
  • 打赏
  • 举报
回复
那太简单了,例如:
var div;//保存当前正处理的div引用
function div_update()
{
div = div_next;//你想办法获取本次运行应该处理的Div,保存到全局变量div
if( div == null )// div 为空表示已处理完
{
return;
}
...//对div修改直到完成后加下面这句
window.setTimeout( div_update, 1000 );//1秒后继续修改,时间你可以改得合适些。
}
hansonboy 2006-10-31
  • 打赏
  • 举报
回复
我在同一时间想处理大量的数据, 但这样在处理过程中IE就不能动,像死掉一样,给用户感觉不好,我现在想分开处理这些内容,同一时间只处理一部份,我用setTimeout来执行, 同一时间只执行一个setTimeout的动作(如果同时用setTimeout处理所有动作跟不用setTimeout效果一样的),但现在就要知道一个setTimeout执行的动作什么时候处理完,给个例子:
我要修改页面100个DIV的内容,一下子修改IE就会死掉,我想用setTimeout一个一个来修改, 当修改完一个div的内容后再修改一下个, 直到100个修改完后
sh_city 2006-10-31
  • 打赏
  • 举报
回复
说说你真正想要的效果吧,有时候,我们换种角度思考会好的多.
hansonboy 2006-10-31
  • 打赏
  • 举报
回复
再顶
wangrumeng 2006-10-27
  • 打赏
  • 举报
回复
ding
hansonboy 2006-10-26
  • 打赏
  • 举报
回复
function test(callback){
alert('ok');
return callback.call(this);
}
setTimeout(function(){
test(myFun);
},1000);
这方法还好些, 看来是没有办法直接知道的, 唯有用这办法了
vxinfo 2006-10-26
  • 打赏
  • 举报
回复
var myflag=false;
function test(){
alert('ok');
myflag=true;
return true;
}
setTimeout("test",1000);
然后在你想判断的地方,判断myflag!


这是是个好的方法。。。
dapupu 2006-10-26
  • 打赏
  • 举报
回复
?
呵呵~都有ALERT了~就应该知道啦~没有就用楼上的办法啦~
myvicy 2006-10-26
  • 打赏
  • 举报
回复
var myflag=false;
function test(){
alert('ok');
myflag=true;
return true;
}
setTimeout("test",1000);
然后在你想判断的地方,判断myflag!
hbhbhbhbhb1021 2006-10-26
  • 打赏
  • 举报
回复
在页面上设置一个隐藏hidden,然后在函数最后一句执行,在注释那加setTimeout检查
Apq001 2006-10-26
  • 打赏
  • 举报
回复
除使用一套自定义事件机制外,一般是在test 返回前 或 调用后 调用一特殊函数x,当x一旦运行则认为test已完成。
Apq001 2006-10-26
  • 打赏
  • 举报
回复
如果你想就在注释那里写判断的话,可以告诉你,一定还未执行!

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧