javascript - 如何回调 async/await 函数

标签 javascript async-await

我的 JavaScript 异步函数读取文件,然后将结果放入特定的 div 中。

async function loadContent( id, file ) {
    var response = await fetch( file );
    var text = await response.text();
    document.getElementById( id ).innerHTML = text;
}

我现在这样使用它:

loadContent("pagesmaxspan", "../export/" + `<?php echo $randomid ?>` + ".variable");

但是当我尝试获取变量时它不起作用

var myvar = $("pagesmaxspan").textContent; // <<--- this does not work

延迟后,它看起来像这样:

var myvar = "";

setTimeout(function() {
    myvar = $("pagesmaxspan").textContent;
}, 100);

如何在不使用 setTimeout 的情况下执行此操作?

最佳答案

当您调用 loadContent 时,那里没有 await,因此您只需从 async 函数返回一个 Promise,代码就会继续执行.

这就是为什么上面@Patrick 的建议有效,将随后需要执行的代码放在 then 中。

关于javascript - 如何回调 async/await 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59773834/

相关文章:

javascript - 如何在类型定义中为 GraphQL 字段定义数组数据类型

c# - 使用反射进行异步编程

angular - 异步函数仅在针对 ECMAScript 2015 或更高版本时可用

c# - 构造函数 Controller 中的 MVC 异步方法

node.js - 无法使用 map() 和 async-await 将项目推送到数组

c# - 如何在异步方法运行时阻止方法而不导致 UI 线程中的死锁

javascript - ES5 与 ES6 promise

javascript - 带有 JSON 数据的动态 Javascript 表

javascript - 如何在 PHP 网络应用程序上安全地使用 Firebase Auth

javascript - 填空和多项选择测验