gpt4 book ai didi

Javascript When 和 Done 函数使用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:12 25 4
gpt4 key购买 nike

我试图在第三个函数中调用两个不同的函数,但一个接一个。一个函数有 ajax 调用,其值用于其他函数。这是一步一步的过程。我不想将一个用于另一个。

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);
});
}

感谢大家的反馈。

最佳答案

试试这个方法,我在本地测试过,完美无缺

function deferredCalls () {
var jsonData = '';
var f1 = function ()
{
// ajax call
$.ajax({
url: "test.html",
method: "POST",
data: { id : menuId }
}).done(function(data) {
jsonData = data; //set the data
});
}

var f2 = function (data)
{
// do some of the work based on data
if(!!data){
//process the data
}
}
$.when(f1).done(function(){
f2(jsonData);
});
}

f1 函数首先被调用,这将依次发出 ajax 请求并在成功时返回数据,该数据被设置为函数范围变量 jsonData。此过程完成后,将调用 f2,它将开始使用 jsonData,它只是从 f1 函数调用接收到的数据。

关于Javascript When 和 Done 函数使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30095490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com