300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Web前端高频面试题及答案解析

Web前端高频面试题及答案解析

时间:2023-04-18 04:10:01

相关推荐

Web前端高频面试题及答案解析

Web前端开发面试题,前端开发面试题

问题:使用Promise实现红绿灯交替重复亮

红灯3秒亮一次,黄灯2秒亮一次,绿灯1秒亮一次;如何让三个灯不断交替重复亮灯?(用Promise实现)

三个亮灯函数已经存在:

function red() {

console.log( ed);

}

function green() {

console.log(green);

}

function yellow() {

console.log(yellow);

}

解析:红灯3秒亮一次,绿灯1秒亮一次 ,黄灯2秒亮一次,意思就是3秒执行一次red函数,2秒执行一次green函数,1秒执行一次yellow函数,不断交替重复亮灯,意思就是按照这个顺序一直执行这3个函数,这步可以利用递归来实现。

function red() {

console.log( ed);

}

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();

问题:介绍Promise以及Promise的几种状态

解析:介绍: Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。

状态: pending(进行中)、fulfilled(已成功)和rejected(已失败)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。