现在,我试图将一个函数作为另一个函数的参数调用,为什么这对我不起作用,在屏幕上不显示任何内容,尝试在回调函数中执行此操作,也不介意preventDefault(),只是练习一些操作
let button = document.getElementById("dugme");
function luka() {
return new Promise((res, rej) => {
res("auto");
rej("kamion");
});
}
button.addEventListener("submit", (ev, luka) => {
let bobo = document.getElementById("test");
if (!bobo) ev.preventDefault();
else {
luka()
.then(info => {
info = bobo;
let luna = document.createElement("h1");
info.innerText = "Bobo je kralj";
luna.append(info);
})
.catch(err => {
console.error(err);
});
}
});
/////////// HTML /////////////
<body>
<div id="test"></div>
<button type="submit" id="dugme">Dugme</button>
</body>
此处无需调用promise函数作为参数。声明之后,您可以在其他函数中简单地使用它。
另外,您还需要使用附加luna
到dom document.body.appendChild(luna)
。
这是完整的代码:
let button = document.getElementById("dugme");
const luka = () => {
return new Promise((res, rej) => {
res("auto");
rej("kamion");
});
}
button.addEventListener("click", (ev) => {
let bobo = document.getElementById("test");
if (!bobo) ev.preventDefault();
else {
luka()
.then(info => {
info = bobo;
let luna = document.createElement("h1");
info.innerText = "Bobo je kralj";
luna.append(info);
document.body.appendChild(luna)
})
.catch(err => {
console.error(err);
});
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句