比如我有js函數:
function getA(){
datas = {
id : 1234
};
var a;
$.ajax({
type:"POST",
url:"*******",
async:false,
data:datas,
success:function(result) {
if(result != null) {
a = result;
}
}
});
//想在此處讓程序暫停2~3秒。
return a;
}
程序如上面所示,由於用ajax異步從後台獲取數據,數據還未取到,但程序已經return了,所以後面取到的值就變成了undefined。因此我想在return a 之前讓程序在那裡暫停2~3秒,這樣a的值就會發生了變化,返回時就不會是undefined了。如何改進。setTimeOut();試了,也沒效果。
function cbk(a) { //回調函數接收異步請求返回的數據 a
var myA = a;
.......;
}
function getA(cbk){
$.ajax({
...
success : function(result) {
if(result) {
cbk(result); // 將請求成功返回的數據傳給回調函數
}
}
});
}