Javascript 在获取数据后添加EventListener(改进、促进、使用最新技术)

Javascript 在获取数据后添加EventListener(改进、促进、使用最新技术),javascript,es6-promise,Javascript,Es6 Promise,这是一个工作代码,但我想简化-更正,改进代码 window.addEvent = function(elem,type,callback) { var evt = function(e) { e = e || window.event; return callback.call(elem,e); }; var cb = function(e) { return evt(e); }; elem.addEventListener(typ

这是一个工作代码,但我想简化-更正,改进代码

window.addEvent = function(elem,type,callback) {
    var evt = function(e) {
        e = e || window.event;
        return callback.call(elem,e);
    };
    var cb = function(e) { return evt(e); };
    elem.addEventListener(type,cb,false);
    return elem;
};
window.findParent = function(child,filter,root) {
    do {
        if( filter(child)) return child;
        if( root && child == root) return false;
    } while(child = child.parentNode);
    return false;
};
function on(type, target, callback) {
  window.addEvent(document.body, type, function(e) {
    var s = window.findParent(e.srcElement || e.target, function(elm) {
        return elm.classList.contains(target);
    },this);

    if( s && callback ) {
        callback(e)
    }
  });
}
on("click", "page-link", function(e){
 console.log("hey its working");
});

在本例中,我使用fetch更新分页,并且必须将addEventlistener绑定到每个页面链接。我在想,是否有一种方法可以用primise解决这个问题,或者用另一种更干净的方法,使用最新的技术?(使用纯Javascript)

对于无法工作的代码获得帮助也是如此。这个应该去[Review]。把它移到那边,你应该会得到一些帮助。我投票决定将这个问题作为离题题来结束,因为它属于代码评审StackExchange。@samanime这个问题实际上是在这里的主题上。仅仅因为它在代码评审中是主题,并不意味着它在这里离题。这是一个关于特定程序的问题,归结为一个问题不,承诺不能用于处理多次发生的事件。如果确实如此,您正在寻找一个EventStream抽象。@samanime根据该参数,应该在代码审查中。