前端面试系列-JS 异步编程
生活随笔
收集整理的這篇文章主要介紹了
前端面试系列-JS 异步编程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
并發與并行的區別?
- 并發是宏觀概念,我分別有任務 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/5c7400996fb9a049ba42386a
總結
以上是生活随笔為你收集整理的前端面试系列-JS 异步编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中fopen函数用法详解(打开文件
- 下一篇: Python爬取mn52网站美女图片以及