js实现类似go channel的功能,怎么写

class JSChannel{
    constructor(){
       //todo
    }

    output(){
       //todo

    }

    input(item){
       //todo
    }
}



var chan = new JSChannel()
chan.input(1)
chan.input(2)
chan.input(3)

async function runloop(){
    while(1){
        var v = await chan.output()
        console.log(v)
    }
}
runloop()

setInterval(
    function(){
        chan.input(new Date())
    },1000
)

//实现类似go channel的功能 一端输入一端输入,没有输入时候停住
//输出1 2 3 然后一秒出一次时间
阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题