博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端面试系列-JS 异步编程
阅读量:6347 次
发布时间:2019-06-22

本文共 710 字,大约阅读时间需要 2 分钟。

并发与并行的区别?

  • 并发是宏观概念,我分别有任务 A 和任务 B,在一段时间内通过任务间的切换完成了这两个任务,这种情况就可以称之为并发。
  • 并行是微观概念,假设 CPU 中存在两个核心,那么我就可以同时完成任务 A、B。同时完成多个任务的情况就可以称之为并行。

什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?

ajax(url, () => {        // 处理逻辑    })    // 会存在回调地狱复制代码

回调地狱问题

  • 嵌套函数存在耦合性,一旦有所改动,就会牵一发而动全身
  • 嵌套函数一多,就很难处理错误
  • 不能使用 try catch 捕获错误,不能直接 return

你理解的 Generator 是什么?(生成器,会返回一个迭代器)

注意next传参和yield返回值的关系

function *foo(x) {      let y = 2 * (yield (x + 1))      let z = yield (y / 3)      return (x + y + z)    }    let it = foo(5)    console.log(it.next())   // => {value: 6, done: false}    console.log(it.next(12)) // => {value: 8, done: false}    console.log(it.next(13)) // => {value: 42, done: true}复制代码

转载于:https://juejin.im/post/5c73f72e518825620677d9fe

你可能感兴趣的文章
canvas系列教程08-canvas各种坑
查看>>
浅析package.json中的devdependencies 和 dependencies
查看>>
又一个 iOS 侧边栏组件: SideMenu
查看>>
Python每日一练0019
查看>>
vue.js 打包遇到的问题
查看>>
【译】更优秀的GraphQL官方中文文档-客户端如何使用
查看>>
git pull遇到的问题
查看>>
eclipse下maven spring项目环境配置
查看>>
无缝轮播
查看>>
js实现的哈夫曼编码
查看>>
Apache Kafka 编程实战
查看>>
神经网络初始化
查看>>
多种云服务器安全协同运维改变
查看>>
CTS失败项分析(2)android.telephony.cts.VisualVoicemailServiceTest#testFilter_data
查看>>
三分钟,轻松了解Dapp
查看>>
GMQ交易平台满足不同客户群体的多种投资需求
查看>>
大数据开发如何入门你必须知道这些
查看>>
关于js(es5)如何优雅地创建对象
查看>>
阿里云前端周刊 - 第 28 期
查看>>
iOS 主队列同步造成死锁的原因
查看>>