美文网首页
你不知道的异步

你不知道的异步

作者: Vijay_ | 来源:发表于2017-12-13 21:15 被阅读7次

    异步函数

    • 误区:

      • 把script代码放到body底部并不是异步执行js代码,仅仅是让页面优先解析然后再解析执行js代码(注意:到js代码执行完之前页面都没有被渲染)
    • 能做什么:

      • 异步代码(例如:setTimeout)是将代码放入异步调用栈,然后等待执行线程先渲染完页面后(即同步代码执行完,html所有标签解析完)后执行。所以耗时的操作(如xmlHttpRequest,大量计算等)都需要使用异步
    • 总结:

      • 异步代码其实质就是事件驱动+回调,只不过该"事件"是由浏览器控制触发
    • 注意:

      • 异步列队其实质还是串行列队,仅仅只是让线程渲染完页面后执行,如果大负荷计算,页面还是会假死(无法点击按钮等。。。)。

      • xmlHttpRequest(ajax)是由浏览器(并发)执行然后通过事件驱动来回调我们的js代码的,并非setTimeout这种简单的放到同步代码后执行。

    相关文章

      网友评论

          本文标题:你不知道的异步

          本文链接:https://www.haomeiwen.com/subject/blazixtx.html