首页 > 解决方案 > 等待/异步不等待承诺

问题描述

我有一个函数可以从数组中创建一个带有水果名称的按钮。我需要使用 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”循环等待用户单击按钮,然后再转到数组的下一个元素?

感谢您的时间。

标签: javascriptfor-loopasynchronousasync-await

解决方案


推荐阅读