标签:wak console hat turn type 调用 nbsp dex color
let index = 0; let stack = []; function next() { let fn = stack[index]; index++; if(typeof fn === ‘function‘){ fn(); } } function fn1() { console.log(1) next() } function fn2() { setTimeout(function() { console.log(2) next() },0) } function fn3() { console.log(3) next() } // stack.push(fn1) // stack.push(fn2) // stack.push(fn3) function Man(name) { stack.push(function(){ console.log(name); next(); }) } var p function LazyMan(name) { p = new Man(‘Hank‘) return p; } Man.prototype.sleep = function(time){ var that = this; stack.push(function(){ setTimeout(function() { console.log(time + ‘秒‘) next() },time *1000) }) return that; } Man.prototype.eat = function(food){ stack.push(function(){ console.log(‘eat ‘+food) next(); }) return this; } Man.prototype.sleepFirst = function(time){ var that = this; stack.unshift(function(){ setTimeout(function() { console.log(‘wake up after ‘+ time + ‘秒‘) next() },time *1000) }) return that; } // LazyMan(‘Hank‘) /* 输出: Hi! This is Hank! */ // LazyMan(‘Hank‘).sleep(1).eat(‘dinner‘) /* 输出: Hi! This is Hank! // 等待10秒.. Wake up after 10 Eat dinner~ */ // LazyMan(‘Hank‘).eat(‘dinner‘).eat(‘“supper”‘) /* 输出: Hi This is Hank! Eat dinner~ Eat supper~ */ LazyMan(‘“Hank”‘).sleepFirst(2).eat(‘“supper”‘) /* 等待5秒,输出 Wake up after 5 Hi This is Hank! Eat supper */ // console.log(stack[0]()) next()
标签:wak console hat turn type 调用 nbsp dex color
原文地址:https://www.cnblogs.com/hellobeen/p/been101.html