大佬教程收集整理的这篇文章主要介绍了从 Javascript 异步请求中获取值并将其用于进一步的逻辑,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
function getAJAX() {
let mycall;
myCall = $.AJAX({
type: "GET",url: "https://API.github.com/users",dataType: "Json"
})
return myCall;
}
async function myBlur1() {
const myret = await getAJAX();
// if(myret[0].login == "mojombo"){
// return true;
// }
// else {return false;}
console.log(myret);
return myret[0].login;
}
@H_675_2@现在在我的 HTML 中,我想调用 myBlur1 函数并存储返回值,然后在函数调用之外我想根据返回值构建逻辑。
@H_675_2@这是我的 HTML 文件。
<body>
<div ID="message"></div>
<script>
let Failed = false;
(async () => {
console.log("I am insIDe IIFE");
let ret = await myBlur1();
if(ret == "mojombo")
{
Failed = true;
}
})();
if(Failed){
console.log("I am ready.");
}
else {
console.log("I am not yet ready.")
}
</script>
</body>
@H_675_2@我总是得到
我在 IIFE
我还没有准备好。在那之后
从异步调用返回数组。
@H_675_2@请帮忙。
<body>
<div id="message"></div>
<script>
(async () => {
let failed = false;
await (async () => {
console.log("I am inside IIFE");
let ret = await myBlur1();
if(ret == "mojombo")
{
failed = true;
}
})();
if(failed){
console.log("I am ready.");
}
else {
console.log("I am not yet ready.")
}
})();
</script>
</body>
@H_675_2@更简化的更新版本(因为我们已经在异步函数中了)
<body>
<div id="message"></div>
<script>
(async () => {
let failed = false;
let ret = await myBlur1();
if(ret == "mojombo") {
failed = true;
}
if(failed){
console.log("I am ready.");
}
else {
console.log("I am not yet ready.")
}
})();
</script>
</body>
,
@H_675_2@您需要在 IIFE 中编写逻辑。在“await myBlur1()”调用之后,因为它是一个网络调用,所以需要一些时间并等待下一个tick返回结果。
<body>
<div id="message"></div>
<script>
let failed = false;
(async () => {
console.log("I am inside IIFE");
/*
anything you want to do until the
result doesn't come from "myBlur1"
should be written here.
*/
let ret = await myBlur1();
/*
your logic should be here,this will execute once
the result from "myBlur1" is available
*/
})();
</script>
</body>
@H_607_43@
以上是大佬教程为你收集整理的从 Javascript 异步请求中获取值并将其用于进一步的逻辑全部内容,希望文章能够帮你解决从 Javascript 异步请求中获取值并将其用于进一步的逻辑所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。