Javascript 等待异步从 Firebase 检索数据

Javascript wait asynch retriving data from Firebase

我有以下代码在运行时创建一个带有一些输入字段和按钮的表单(在我已经删除的 Firebase 循环中,因为有或没有它我都有同样的问题)在我的 Javascript使用 DOM.

的应用程序

这里是我的代码片段:

var form = document.createElement("FORM");
var fieldset = document.createElement("FIELDSET");
var inputId = document.createElement("INPUT");
inputId.value = "ID";
fieldset.appendChild(inputId);
var inputVillage = document.createElement("INPUT");
inputVillage.value = "Villaggio";
fieldset.appendChild(inputVillage);
var inputImage = document.createElement("INPUT");
inputImage.value = "Immagine";
fieldset.appendChild(inputImage);
var buttonMod = document.createElement("INPUT");
buttonMod.setAttribute("type", "button");
buttonMod.value = "Modifica";
  // HERE my problem
buttonMod.addEventListener("click",tryfunc("Mark"));
  // or (same result)
// buttonMod.onclick(tryfunc);
fieldset.appendChild(buttonMod);
form.appendChild(fieldset);
document.body.appendChild(form);

function tryfunc(name) {
 [...]
 document.write("Hello " + name);
 // I also tried with this instruction found here on Whosebug
 // (but this generate other problems)
 //name.stopPropagation();
}

我的 tryfunc("xxx") 在我的应用程序启动时自动触发,如何防止它?

您正在立即调用您的函数:tryfunc("Mark")。注意,函数调用 () 括号。相反,您需要具有匿名函数并从内部调用您的函数:

buttonMod.addEventListener("click", function() {
    tryfunc("Mark");
});