实现一个class Lazing 函数,输出如下该怎么写?

Lazing('Garry')
//输出'helloGarray'
Lazing('Garry').sleep(10).eat('rice')
//输出'helloGarray'
//等待10秒...
//输出'eatingrice'
Lazing('Garry').eat('rice').eat('bread')
//输出'eatingrice'
//输出'eatingbread'
Lazing('Garry').sleepFirst(5).eat('rice')
//等待5秒...
//输出'helloGarray'
//输出'eatingrice'
难点是定时器该怎么处理?如果sleepFirst定时器是后置的怎么来实现?
Lazing('Garry').eat('rice').sleepFirst(5)
//等待5秒...
//输出'helloGarray'
//输出'eatingrice'
拉丁的传说
浏览 498回答 2
2回答

三国纷争

总体思路就是构造一个任务队列classLazing{constructor(item=''){this.queue=[{key:'init',val(){console.log('hello'+item)}}]}eat(item){this.queue.push({key:'eat',val(){console.log('eating'+item)}})returnthis}sleep(time){this.queue.push({key:'sleep',val:time*1000})returnthis}sleepFirst(time){this.queue.unshift({key:'sleep',val:time*1000})returnthis}exec(){for(leti=0;i
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript