2010-05-18 46 views
0
var blah = Some.Thing(data, function(a,b) { 
    // code here 
}); 

Some.Thing = function(data, callback) { 

    if(...) { 
    var a = Other.Thing(data, function() { 
     // code here 

     callback(); 
     return; 
    });  
    } 

    callback(); 
}; 

我的問題是,是否會說://code here只有後一切和他們的回調火的一部分?的jquery,javascript和回調時間

//code here部分似乎火了,似乎有一些時間問題。

+2

與4,485代表,你不知道如何格式化代碼的問題?! – 2010-05-18 13:57:32

+0

「看似火」,「計時問題」...你能更具體一點(通過顯示更多的代碼部分)? – 2010-05-18 14:01:51

+0

這兩個代碼中的哪一部分?所有東西都是按順序執行的,所以當你把'//代碼放在'callback();'上面時,它會在*'callback'之前執行。 – 2010-05-18 14:16:23

回答

1

你實際上並沒有在Some.Thing的任何地方使用callback,所以不可能說。但是,一般來說,除非實際上調用callback,否則其中的代碼不會執行。它被評估(解析),但未被執行。

0

從您提供的代碼中無法分辨出來。
callback既可以稱爲上相同的堆棧,或它的執行可能被推遲由於AJAX或setTimeout的正在使用的(異步)的方法。

如果被延期,那麼只有在主方法完成並且線程回到空閒狀態後纔會調用它。