一道阿里/字节真题理解前端异步编程
-
技术沉淀 -
视野+平台
请你分析一下,promise,generator,async 三者之间的关系?
下面有个计时器任务,请用这三种方法依次解决它代码中出现回调地狱的问题。
let t = setTimeout(()=>{
console.log(1111)
let t1 = setTimeout(()=>{
console.log(2222)
let t2 = setTimeout(()=>{
console.log(3333)
},3000)
},2000)
},1000)
const fnasync = function(value){
return new Promise(function(resolve,reject){
setTimeout(()=>{
console.log(value)
resolve()
})
})
}
fnasync(1111, 1000)
.then(() => {
return fnasync(2222, 2000)
})
.then(() => {
return fnasync(3333, 3000)
}).catch(err => {console.log(err})
let asyncfn = function (num,timecount) {
return new Promise((resolve,reject)=>{
setTimeout(function(){
console.log(num)
resolve();
},timecount)
})
}
let fn = async function(){
await asyncfn(1111,1000)
await asyncfn(2222,1000)
await asyncfn(3333,1000)
}
fn()
03
其实,对于我们这些 1-3 年工作经历的前端,如何才能在面试时中脱颖而出呢?
踏实的基本功,加上丰富的实战经验,技术栈也不要给自己设限,React、Vue,、客户端开发、Node、Canvas ... 撸起袖子就是干,同时对于目前紧迫的业务涉及的技术也需要深入了解,看学习视频,多多投资自己。
因此,对于开发人员来说,技术一定得跟业务并进,那么怎样提升呢?
说到这,我真诚的给你推荐拉勾教育的课程了,大家知道,拉勾深耕招聘领域多年,在“人岗匹配”的过程中,发现很多人才的知识能力体系与企业的用人需求存在偏差。为了解决这个问题,拉勾教育团队历经 12 个月的精心打磨,推出《大前端高薪训练营》。
为什么要推荐《大前端高薪训练营》?
拉勾是一个互联网招聘平台,所以,拉勾网和各大互联网企业,都有深入的合作关系。目前的企业资源,是 98 万+。
课程仅仅是开始,接下来还会帮你优化简历,模拟面试,最后内推到大厂,做到真正的一条龙服务!
什么样的基础适合学习这门课程?
技术基础薄弱:只懂应用,不懂底层原理,知其然并不知其所以然,一旦遇到复杂问题就无从下手
自我提升困难:无法建立整体的知识体系,缺少系统化的学习和提升,短期无法提高
项目经验单一:长期从事技术重复工作,对高阶技能等缺乏实战经验,职业发展受限制
进大厂无通道:现有的能力和经验不足以受到大厂的青睐,也没有猎头愿意帮忙内推到大厂
-
覆盖 200+ 主流技术点,提供晋升阿里 P7 的完整路径,体系化夯实技术实力; -
100% 还原多个公司的真前端项目,快速积累 Web、小程序、App 等反客户端领域实战经验; -
夯实语言底层基础,8 大阶段逐步打造前端核心竞争力,告别野路子; -
提供 20+ 商业级前端技术解决方案,轻松应对更多更难的业务问题,学来即用; -
直击面试重点难点,优秀学员可享每月大厂内推机会。
点击“阅读原文”即可参与