一道常见的Js面试题

时间: 2019-06-08阅读: 125标签: 面试

面试题题目

页面上有一个输入框,两个按钮,A按钮和B按钮,点击A或者B分别会发送一个异步请求,请求完成后,结果会显示在输入框中。

题目要求,用户随机点击A和B多次,要求输入框显示结果时,按照用户点击的顺序显示,举例:

用户点击了一次A,然后点击一次B,又点击一次A,输入框显示结果的顺序为先显示A异步请求结果,再次显示B的请求结果,最后再次显示A的请求结果。


思考

当时被问到的时候,几个想法

  1. 写个高阶函数,处理异步请求
  2. 怎么保证顺序,我是想将其放入数组中,然后按顺序执行

代码:

/**
 * A的请求;pA(promise对象)
 * B的请求;pA(promise对象)
 * @click 事件函数 handler
 */
let arr = []
let it
function* main() {
    //进来的是pA,pB封装后的方法
    const data = yield arr.unshift()()
    if(arr.length > 0) {
        it = main()
        it.next()
    }
}
it = main()
//封装pA,pB的请求
function pn(promise) {
    return promise.then(res => it.next(res))
}
//当点击按钮发送请求时,将相应的请求加入数组中
function handler(pn) {
    arr.push(pn)
    //数组不为空说明请求触发中
    if(arr.length = 0) {
        it.next()
    }
}


说明

  1. 点击按钮时,先发放入请求;数组为空说明,还没执行;就先执行;不为空,则加入数组中,等待执行
  2. 利用迭代器,遍历数组,执行请求
  3. 封装函数fn,思路来自之前看的Generator的异步请求方式



链接: http://www.fly63.com/article/detial/4118

大龄前端如何准备面试?

今年毋庸置疑是找工作的寒冬,今年出来找工作的每一个同学 都是值得尊敬的。 在寒冬季找工作,虽然略难,但是反过来看也会逼迫我们成为更加优秀的自己。但是不管是旺季还是寒冬,有一些优秀的同学找工作还是挺顺利的

面试官,不要再问我三次握手和四次挥手

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。见过比较典型的面试场景是这样的:

Js字符串类面试题

解析 URL Params 为对象;模板引擎实现;转化为驼峰命名;查找字符串中出现最多的字符和个数;字符串查找请使用最基本的遍历来实现判断字符串 a 是否被包含在字符串 b 中

JS常见的面试题

在现代js中,let&const是创建变量的不同方式。 在早期的js中,咱们使用var关键字来创建变量。 let&const关键字是在ES6版本中引入的,其目的是在js中创建两种不同类型的变量,一种是不可变的,另一种是可变的。

HTML5的新特性(面试必备)

面试前端的时候,有可能面试官会问你,让你谈谈对HTML5的认识。在教材上有关于HTML5新特性的概述,我觉得有必要整理一下,可以让自己对HTML5有一个比较全面的认知

面试时如何优雅地自我介绍?

有读者提问:如何在面试当中做一个最好的自我介绍?结合了一下自己面试以及面试别人(模拟面试)的一些经验,简单总结了几点,供大家参考。

必须懂的Js面试题

JavaScript 是一种轻量级的解释型编程语言,具有面向对象的特性,允许各位在其他静态HTML页面中构建交互性。 该语言的通用核心已嵌入Netscape,Internet Explorer和其他Web浏览器中。

程序员面试必备的5个问题

年年有面试,岁岁有面试.如果说工作内容占据了职业生涯的90%,那么面试就占据了10%.面试决定了我们是否可以进入某个公司,是否可以谈判一个较高的薪水,是否可以胜任某些重要的职位.

常见的三个JS 面试题

本文不是讨论最新的 JavaScript 库、常见的开发实践或任何新的 ES6 函数。相反,在讨论 JavaScript 时,面试中通常会提到三件事。我自己也被问到这些问题,我的朋友们告诉我他们也被问到这些问题。

作为面试官,我究竟想问什么?

其实不得不说,找工作,真的七分实力,三分运气。不同的面试官有不同的看重点,所以千万不要为一次的滑铁卢而丢失信心。基本面试这是必然的开场,笔者在公司也稍微面试过不少人吧,高峰期基本每晚都要面试一两个

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全