要使用定时器实现三种灯的等待时间,promise控制异步
function red() {
console.log('red');
}
function green() {
console.log('green');
}
function yellow() {
console.log('yellow');
}
var light = function(timmer, cb) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
cb();
resolve();
}, timmer);
});
};
var step = function() {
Promise.resolve().then(function() {
return light(3000, red);
}).then(function() {
return light(2000, green);
}).then(function() {
return light(1000, yellow);
}).then(function() {
step();
});
}
step();