javascrpt定时执行一组函数的方法

https://img1.mukewang.com/5c481c910001ffc905770784.jpg

发布订阅模式一般是add加入,然后publish一次性释放,但是假设add的是这种带时间控制的,也就是说,我不但要函数一次执行,也希望它是在每次延迟时间过后再执行,这样一次执行完,求高手指点!!!非常期待实现!

手掌心
浏览 479回答 1
1回答

大话西游666

var Ob = {    arr: [],    add(fn, val){        this.arr.push({            fn,            val        })         return this    },    fire(){        var arr = this.arr        var obj = arr.splice(0, 1)[0] || {}        obj.fn && this.timeout(obj.val, obj.fn)    },    timeout(val, cb){        setTimeout(x => {            cb()            this.fire()        }, val * 1000)    }}var a = function(){ console.log(1) }var b = function(){ console.log(2) }var c = function(){ console.log(3) }Ob.add(a, 1).add(b, 1.5).add(c, 0.8)Ob.fire()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript