我有一个功能
function GetITStaffList(){
var go_path = "Server/ITComplains.php?action=GetITStaffList&vars=0";
$jqLibrary.get(go_path,
{}, function(data)
{
var parseData = JSON.parse(data);
console.log("GetPendingAndInProgressComplainsByGeneratorId : ", parseData);
return parseData;
});
}
我在代码中的某个地方调用了这个
var ITStaffList = GetITStaffList();
MakeDropDownITStaff(ITStaffList);
但问题是每次返回null。我知道我必须使用回调和类似承诺的东西,但我不知道如何在我的上下文中使用这个东西。如何使用按需返回数据的ajax调用编写可重用函数。?
答案 0 :(得分:1)
返回一个承诺。
function GetITStaffList(){
return new Promise(function(resolve){
var go_path = "Server/ITComplains.php?action=GetITStaffList&vars=0";
$jqLibrary.get(go_path,
{}, function(data)
{
var parseData = JSON.parse(data);
console.log("GetPendingAndInProgressComplainsByGeneratorId : ", parseData);
resolve(parseData); //Notice this
});
})
}
现在您可以调用该函数并等待数据。
GetITStaffList().then(function(data){
console.log(data)
})