2014-02-13 51 views
0

我有一個調用另一個函數這樣一個功能:返回假的函數回調作爲參數

f.callApi({call: 'route'}, function(response){ 
    f.drawRoute(response.points); 
}); 

調用的函數如下:

... 

callApi: function(option, callback){ 
    $.ajax({ 
     url: apiUrl, 
     success: function(response){ callback(response) } 
    }); 
} 
... 

這個工程只是精細。

問題是,我想介紹一個條件,因爲它不適合執行AJAX調用的先決條件,因此未進行ajax調用。

所以我想要做的就是返回false作爲迴應。

... 

callApi: function(option, callback){ 
    if(conditionNotMet){ 
     return false; 
    } 
    $.ajax({ 
     url: apiUrl, 
     success: function(response){ callback(response) } 
    }); 
} 
... 

這似乎不起作用,我想我很想知道AJAX成功調用的工作原理。

我不確定我是否應該返回一個函數,或者如何使回調參數爲false。

更清楚,我的意思是響應應該是假的:

f.callApi({call: 'route'}, function(response){ 
    console.log(response); //This should be false. 
}); 
+3

什麼是「不工作」是什麼意思?你期望發生什麼? – SLaks

+0

@SLaks請看看我的編輯,看看我的意圖是否更清楚。 – Trufa

+0

'callback(false);'而不是 –

回答

2

那麼從我的理解,你只是想:

callApi: function(option, callback){ 
    if(conditionNotMet) callback(false); 
    else $.ajax({ 
     url: apiUrl, 
     success: function(response){ callback(response) } 
    }); 
} 
+0

謝謝,我現在感覺很傻:),這很清楚,但我被嚴重阻止! – Trufa