Javascript 如何用承诺占领点击事件?
我正在尝试在承诺内使用click事件,当按钮按下一次时,一切正常,但如果我想多次按下按钮,事件将不再工作 我该如何通过承诺来解决这个问题,还是应该在这些情况下使用回调? 多谢各位Javascript 如何用承诺占领点击事件?,javascript,promise,callback,es6-promise,Javascript,Promise,Callback,Es6 Promise,我正在尝试在承诺内使用click事件,当按钮按下一次时,一切正常,但如果我想多次按下按钮,事件将不再工作 我该如何通过承诺来解决这个问题,还是应该在这些情况下使用回调? 多谢各位 add() { return new Promise((resolve, reject) => { if ( rowsTable.length == 0) reject("add fail data:", rowsTable.length
add() {
return new Promise((resolve, reject) => {
if ( rowsTable.length == 0) reject("add fail data:", rowsTable.length);
else {
for (let i = 0; i < rowsTable.length; i++) {
{
document.getElementById("add_button").addEventListener( "click", function () {
resolve(rowsTable[i]);
}, {once: false});
}
}
});
}
add(){
返回新承诺((解决、拒绝)=>{
如果(rowsTable.length==0)拒绝(“添加失败数据:”,rowsTable.length);
否则{
for(设i=0;i
承诺是为了等待将来发生的事情,而不是为了多项事情
在大多数情况下,只使用回调就可以了
如果您有复杂的需求,希望有一个类似于promise的对象,您可以传递该对象,并允许多个其他函数订阅,然后查看可观察的对象(例如通过与承诺类似,只是设计用于处理事件流而不是单个事件。为什么您需要为事件侦听器提供承诺。很简单,一旦承诺完成,您需要再次调用承诺。非常感谢