浏览器可以调用事件处理程序的条件

时间:2010-11-10 17:43:25

标签: javascript ajax events javascript-events web-worker

在Javascript中处理异步XHR请求时,我常常想,如果有的话 条件,用于浏览器可以调用onReadyStateChange-callback的时间。如果有 没有,会引起一些问题,如下例所示:

var state = -1;
doAsyncXhrReqeust("foo.bar", function() {
   state = 1;
});
function doStateDependendAction() {
   if(state === 1)
      alert("file is available");

   // if the callback above was called at this point, nothing would happen

   else if(state === -1)
      alert("file isn't available");
}; 

function doAsyncXhrRequest(url, callback) {
   // simple AJAX-helper-function
};

正如您所看到的,如果状态在两者之间发生变化,则doStateDependendAction不执行任何操作 检查状态的两个if语句 我知道在这种情况下,我可以通过将状态分配给本地来解决这个问题 检查值之前的变量。

所以问题是,我是否总是需要关注这一点。 我的问题也适用于其他事件,例如用户交互和网络工作者。

的问候,
乌利

0 个答案:

没有答案