<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>事件循环 - 标签 - lihuu — 系统工程、AI 工具链与 Rust 开发博客</title>
        <link>https://silentstormic.top/tags/%E4%BA%8B%E4%BB%B6%E5%BE%AA%E7%8E%AF/</link>
        <description>事件循环 - 标签 - lihuu — 系统工程、AI 工具链与 Rust 开发博客</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Thu, 21 Jan 2021 17:10:45 &#43;0800</lastBuildDate><atom:link href="https://silentstormic.top/tags/%E4%BA%8B%E4%BB%B6%E5%BE%AA%E7%8E%AF/" rel="self" type="application/rss+xml" /><item>
    <title>Javascript 宏任务和微任务</title>
    <link>https://silentstormic.top/post/javascript-task/</link>
    <pubDate>Thu, 21 Jan 2021 17:10:45 &#43;0800</pubDate>
    <author>lihuu</author>
    <guid>https://silentstormic.top/post/javascript-task/</guid>
    <description><![CDATA[<h4 id="宏任务">宏任务</h4>
<p>由宿主发起的任务称为宏观任务。<br/>
例如<code>setTimeout</code>函数创建的就是宏任务，当前的脚本执行也是宏任务。</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-javascript">
        <span class="code-title"><i class="arrow fas fa-angle-right fa-fw" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h fa-fw" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy fa-fw" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="nx">setTimeout</span><span class="p">(()</span> <span class="p">=&gt;</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">&#34;Hello&#34;</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">},</span> <span class="mi">100</span><span class="p">);</span></span></span></code></pre></div></div>
<h4 id="微任务">微任务</h4>
<p>由 JavaScript 引擎发起的任务称为微任务。<br/>
微任务的主要来源是<code>Promise</code>。
在 JavaScript 的事件循环中，当期宏任务执行完或者如果调用栈为空的时候，会检查微任务队列，如果队列不为空，会执行微任务队列中的任务。</p>]]></description>
</item>
</channel>
</rss>
