javascript - 等待/异步不等待承诺
问题描述
我有一个函数可以从数组中创建一个带有水果名称的按钮。我需要使用 async/await 从另一个运行该功能。这是我当前的代码:
var createButton = function(fruit) {
var page = document.getElementById("divPage");
var table = document.createElement("table");
page.appendChild(table);
var r = t.insertRow(-1);
var c = r.insertCell(-1);
var button = document.createElement("input");
button.type = "button";
button.value = fruit;
button.addEventListener("click" , function(){return true;});
c.appendChild(button);
}
var run = async function() {
var listOfFruits = ["apple" , "orange", "banana"];
for (var i = 0; i < listOfFruits.length; i++) {
await createButton(listOfFruits[i]);
}
}
当我运行这段代码时,我得到一个带有“banana”值的按钮的页面。“for”循环运行该函数 3 次,无需等待通过单击按钮创建的返回。如何使“for”循环等待用户单击按钮,然后再转到数组的下一个元素?
感谢您的时间。
解决方案
推荐阅读
- c++ - 在 cygwin 中运行 c++ 脚本时发生错误
- c# - 按品牌分组产品,然后按类别 - linq
- python - Python Pandas 正则表达式
- python - miniconda 没有在虚拟环境中安装 python
- android - 运行前台服务时进行大量 CPU 分析
- python - 关联规则算法的数据准备(先验)
- raspberry-pi - 通过命令行启用 VncServer 6.2.1 ARMv6 实验捕获模式
- mysql - Aurora 数据库因“/io/file/myisam/kfile”等而超出容量
- c++ - Linux中是否有“CreatePipe”和“CreateProcessW”功能?
- amazon-web-services - 没有适用于 Postgres 引擎的 AWS RDS 简单月度计算器