Я пытаюсь вызвать две разные функции в третьей функции, но один за другим. Одна функция имеет вызов ajax, значения которого используются в другой функции. это шаг за шагом. Я не хочу использовать его в другом.Javascript When and Done Function use
function f1()
{
// ajax call
return r1
}
function f2(r2)
{
// do some of the work based on r2
}
function f3()
{
$.when(f1()).done(function(data){
f2(data)
});
}
Я также пробовал с $ .when(). Then(); но все еще бесполезно.
Спасибо, заранее.
ОБНОВЛЕНИЕ: - Ниже приведен ответ на мой вопрос, основанный на решении, предоставляемом @dreamweiver.
var json_data = '';
function f1()
{
$.ajax({
url: "test.php",
method: "POST",
async : false,
data: { },
success:function(data){
json_data = eval(data);
}
});
}
function f2(t)
{
console.log("values is "+t);
}
function f3()
{
$.when(f1()).done(function(){
f2(json_data);
});
}
Спасибо всем за ваши отзывы.
Пробовали ли вы '$ .when (f1) .done (функция (данные) { f2 (данные) });' –
Если вы используете 'Ajax JQuery (в) 'то вы должны просто иметь возможность сделать:' f1(). then (f2) '. – James
Зачем вам нужна функция f3? предположительно вы хотите установить обещание, а затем вызвать f1? – atmd