如何blocking一个函数,不让它返回?
初学javascript,在设计chrome插件时遇到一个问题,找了一些资料,也尝试过一些方法,目前不知道如何继续,问题描述如下:
为某个事件添加一个listener, 如何将listener中的回调函数blocking住不让返回,直到点击某个按钮(比如forward按钮),回调函数才会返回,试了几种方法:
1.
while(1)
{
if(forward == 1)
break;
}
结果就是浏览器直接卡死,没有任何悬念。
2.
setInterval(function(){
if(go_forward) {
go_forward = 0;
return {requestHeaders: details.requestHeaders};
}
}, 0);
虽然指定了时间间隔为0,但是函数依然返回了,没有任何作用。
javascript或者其他的javascript库有没有提供这种blocking的支持?
如果没有现成的支持,如何自己用javascript写一个模拟这种bloking的函数?比如模拟alert或者confirm弹出框,如果不点击【确定】,那么就会阻塞在当前的指令上,但是又不会卡死?这种情况改如何实现?
为某个事件添加一个listener, 如何将listener中的回调函数blocking住不让返回,直到点击某个按钮(比如forward按钮),回调函数才会返回,试了几种方法:
1.
while(1)
{
if(forward == 1)
break;
}
结果就是浏览器直接卡死,没有任何悬念。
2.
setInterval(function(){
if(go_forward) {
go_forward = 0;
return {requestHeaders: details.requestHeaders};
}
}, 0);
虽然指定了时间间隔为0,但是函数依然返回了,没有任何作用。
javascript或者其他的javascript库有没有提供这种blocking的支持?
如果没有现成的支持,如何自己用javascript写一个模拟这种bloking的函数?比如模拟alert或者confirm弹出框,如果不点击【确定】,那么就会阻塞在当前的指令上,但是又不会卡死?这种情况改如何实现?
...全文



