鍍金池/ 問答/PHP  HTML/ js代碼片段輸出結(jié)果是什么,為什么?

js代碼片段輸出結(jié)果是什么,為什么?

<script>
    console.log(1);
    setTimeout(function() {
        console.log(2);
    }, 0);
    $.ajax({
        url: "example.php",  //php文件 echo '3';
        type: 'GET',
        success: function(data) {
            console.log(data);
        },
    })
    new Promise(function(resolve, reject) {
        console.log(4);
        resolve();
    }).then(function() {
        console.log(5);
    }).then(function() {
        console.log(6);
    })
    console.log(7);
</script>
回答
編輯回答
解夏

microtask的問題。
請(qǐng)移步知乎

2018年4月24日 23:00
編輯回答
瞄小懶

Promise中的代碼按正常順序執(zhí)行 它的then方法中的代碼是在當(dāng)前tick的末端執(zhí)行 定時(shí)器中的代碼是在nextTick中執(zhí)行 ajax什么時(shí)候返回結(jié)果無法確定 所以輸出

1 4 7 5 6 2 另外還有一個(gè)不確定的3

2018年7月24日 18:16
編輯回答
厭遇

我也是看到這個(gè)學(xué)習(xí)了一下,具體這個(gè)有明確的解釋:
http://js.walfud.com/macrotas...

2017年6月2日 12:17