我有一个 JS 函数可以进行 ajax 调用并连续运行
function First(ServerId)
{
var CallServer = jQuery.ajax({
type: "POST",
url: "somefile.php",
dataType: "json",
success: function(response)
{
// do something here
First(response.ServerId);
}
}};
}
在somefile.php中有一个 60 秒的睡眠计时器,因此 ajax 调用会在 60 秒后返回响应。每次返回不同的服务器 ID。
现在我有另一个功能,我想做这样的事情
function Second()
{
/*
wait for 5 seconds to see if function First() has returned server id
if (ServerIdIsReturned)
{
i) abort CallServer
ii) make another Ajax call (CallServer2)
iii) after CallServer2 is done, call CallServer with the returned ServerId
}
else
{
i) abort CallServer
ii) make another Ajax call (CallServer2)
iii) after CallServer2 is done, call CallServer with the ServerId as 0
}
*/
}
我不确定我是否已经正确解释了它,但是Second()
如果函数First()
返回了新的服务器 ID,我想检查函数并相应地继续进行。我想我需要使用 setTimeout 并分解 Second() 函数,但不确定。
我怎样才能做到这一点?