js代码片段输出结果是什么,为什么?

<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>


慕姐4208626
浏览 948回答 2
2回答

慕标5832272

microtask的问题。请移步知乎

烙印99

Promise中的代码按正常顺序执行 它的then方法中的代码是在当前tick的末端执行 定时器中的代码是在nextTick中执行 ajax什么时候返回结果无法确定 所以输出1 4 7 5 6 2 另外还有一个不确定的3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript