美文网首页
异步执行步骤

异步执行步骤

作者: 肥羊猪 | 来源:发表于2021-03-19 17:51 被阅读0次
async function async1() {
    console.log('async1 start');
    await async2();
    console.log('asnyc1 end');
}
async function async2() {
    console.log('async2');
}
console.log('script start');
setTimeout(() => {
    console.log('setTimeOut');
}, 0);
async1();
new Promise(function (reslove) {
    console.log('promise1');
    reslove();
}).then(function () {
    console.log('promise2');
})
console.log('script end');

输出结果:

script start
async1 start
async2
promise1
script end
asnyc1 end
promise2
setTimeOut

宏任务:setTimeout,setInterval
微任务:Promise.then(非new Promise),process.nextTick(node中)

事件的执行顺序,是先执行微任务,然后执行宏任务

new Promise同步的任务,会被放到主进程中去立即执行。而.then()函数是异步任务会放到异步队列中去
async关键字的函数会返回一个promise对象,如果里面没有await,执行起来等同于普通函数
await会让出线程,阻塞async内后续的代码,先去执行async外的代码

执行步骤.png

相关文章

  • 异步执行步骤

    输出结果: 宏任务:setTimeout,setInterval微任务:Promise.then(非new Pro...

  • ECMAScript6--15.Promise用法

    1.Promise(解决异步操作问题的) 什么是异步比如:函数a,执行一个步骤,a执行完要执行b;有一个顺序问题;...

  • 前端扯犊子之二Ajax

    一、概述 1、作用: 用JavaScript执行异步网络请求。 2、步骤: 1、创建 XMLHttpRequest...

  • ES6(Promise)

    Promise是异步编程的解决方案。举个例子,有一个函数A,A执行一些步骤,A执行完要执行函数B,这里有个顺序问题...

  • 异步执行

    同步执行:一个任务在执行中,后一个任务必须等前一个任务执行完毕才能执行,这种情况会导致浏览器处于一种无响应的状态,...

  • 异步编程

    同步与异步 同步:按代码顺序依次执行 异步:先执行同步代码,完成后再执行异步代码 事件循环与消息队列:当代码执行到...

  • 【javaScript练习】2021-02-23

    javaScript 作用域,异步执行,requestAnimationFrame 微任务,宏任务,异步执行 Ar...

  • iOS多线程:『GCD』详尽总结(四):异步执行 + 串行队列

    4.4 异步执行 + 串行队列 在异步执行 + 串行队列可以看到: 开启了一条新线程(异步执行具备开启新线程的能力...

  • Flutter (十一)异步执行

    异步执行 异步执行做成同步的效果 需要使用async和await关键字 【串行】 多个异步执行完之后再往下走 【...

  • GCD初理解

    队列可以同步执行也可以异步执行。是否会开启子线程只与是否创建异步执行有关。

网友评论

      本文标题:异步执行步骤

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