130. 创建LazyMan()

JavaScript

中等难度  -通过 / -执行

LazyMan除了吃就是睡,很lazy。

LazyMan(name: string, logFn: (log: string) => void) 通过传入logFn打印信息。

LazyMan('Jack', console.log)// Hi, I'm Jack.

可以eat(food: string)

LazyMan('Jack', console.log)  .eat('banana')  .eat('apple')// Hi, I'm Jack.// Eat banana.// Eat Apple.

可以sleep(time: number),单位是秒。

LazyMan('Jack', console.log)  .eat('banana')  .sleep(10)  .eat('apple')  .sleep(1)// Hi, I'm Jack.// Eat banana.// Wake up after 10 seconds.// Eat Apple.// Wake up after 1 second.

sleepFirst(time: number)的话,无论顺序如何,最优先sleep。

LazyMan('Jack', console.log)  .eat('banana')  .sleepFirst(10)  .eat('apple')  .sleep(1)// Wake up after 10 seconds.// Hi, I'm Jack.// Eat banana// Eat apple// Wake up after 1 second.

请创建一个如此懒惰的LazyMan()

始终思考更好的解决办法