美文网首页
最简单的发布订阅者模式

最简单的发布订阅者模式

作者: js66 | 来源:发表于2019-08-17 21:57 被阅读0次

const fs = require('fs'); 

const path = require('path');

class E {

    constructor(array) {

        this.array = array;

        this.obj = {};

    }

    emit() {

        this.array.forEach(element => element());

    }

    on(fn) {

        this.array.push(fn)

    }

}

let e = new E([]);

e.on(()=>{

    console.log('ok')

})

e.on(() => {

    if (Object.keys(e.obj).length == 2) {

        console.log(e.obj)

    }

})

fs.readFile(path.join(__dirname + '/1.txt'), 'utf8', (error, data) => {

    e.obj['name'] = data

    e.emit();

})

fs.readFile(path.join(__dirname + '/2.txt'), 'utf8', (error, data) => {

    e.obj['age'] = data

    e.emit();

})

相关文章

网友评论

      本文标题:最简单的发布订阅者模式

      本文链接:https://www.haomeiwen.com/subject/yiflsctx.html