2014-02-13 2 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

Смежные вопросы