等待/异步不等待承诺

时间:2020-02-13 20:51:19

标签: javascript for-loop asynchronous async-await

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

谢谢您的时间。

0 个答案:

没有答案