javascript - 我们如何使用异步函数来获取 api 数据?
问题描述
我在函数中从 api 获取数据时遇到问题,它收集数据较晚,而不是等待函数完成执行并跳过它并继续执行下一行。
function getQ(mid){
$.ajax({
url : "http://localhost:8080/modules/"+ mid ,
type : "get" ,
dataType : "json" ,
success : function( response , status , http ) {
$.each( response , function( index , item ){
var s = item.q;
var v = JSON.stringify(item.qIDfromDB)
console.log(str +": " );
dbAnswers.push({ text: s, value: v});
});
console.log(dbAnswers);
},
error : function( http , status , error ) {
alert( 'Some Error Occured : ' + error );
}
});
}
解决方案
您可以使用 async/await 如下方式:
function getData(ajaxurl) {
return $.ajax({
url: ajaxurl,
type: 'GET',
});
};
async function test() {
try {
const res = await getData('https://api.icndb.com/jokes/random')
console.log(res)
} catch(err) {
console.log(err);
}
}
test();
推荐阅读
- angular - 在我的发布请求中发送空值
- python - 如何从彼此中减去列表?
- mongodb - MongoDB 复制错误 NetworkInterfaceExceededTimeLimit 和 MaxTimeMSExpired - 原因和修复
- powershell - 引发了“Microsoft.Rest.Azure.CloudException”类型的异常
- prolog - 将数字列表翻译为 [1,2,3] 到 [一,二,三] 等单词时出现问题
- ipv4 - 启用 dhcp 的路由器如何处理静态 IP 地址机器?
- javascript - forEach 循环中的 NodeJs 函数需要在转到下一项之前完成
- ietf-netmod-yang - 为什么名称类型的叶节点在 yang 模型中不起作用?
- json - 如何将lua表对象解析为json?
- html - 以浮动外框为中心定位模态