zoukankan      html  css  js  c++  java
  • [JavaScript初级面试]5. JS基础-异步

    题目

    • 同步和异步的区别是什么?
    • 手写用Promise加载一张图片
    • 前端使用异步的场景哪些?
    • setTimeout执行顺序

    单线程

    JS是单线程语言,只能同时做一件事儿;
    JS和DOM渲染共用同一个线程,因为JS可修改DOM;
    浏览器和nodejs已经支持JS启动进程,如web worker

    单线程弊端

    遇到等待(网络请求,定时任务)会暂停执行,用户界面无响应;

    解决单线程弊端的方式:

    采用异步执行方式,以回调callback函数的形式

    // 同步方式:
    console.log(100);
    alert(200); // 同步执行,阻塞代码执行
    console.log(300);
    // 异步方式:
    console.log(100);
    setTimeout(() => {// callback函数异步调用,不会阻塞代码执行
      console.log(200);
    });
    console.log(300);
    

    异步的应用场景

    • 网络请求,如ajax图片加载
    • 定时任务,如setTimeout

    异步带来的问题

    callback hell : 回调函数里面继续调用了回调函数

    解决异步带来的callback hell问题

    使用Promise

    本文来自博客园,作者:Max力出奇迹,转载请注明原文链接:https://www.cnblogs.com/welody/p/15214486.html

    如果觉得文章不错,欢迎点击推荐

  • 相关阅读:
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
    C语言寒假大作战01
    C语言I作业12—学期总结
    C语言I博客作业11
    C语言I博客作业10
    C语言I博客作业09
    C语言I博客作业08
    c语言||作业01
  • 原文地址:https://www.cnblogs.com/welody/p/15214486.html
Copyright © 2011-2022 走看看