美文网首页前端100问
【前端100问】Q13:Promise 构造函数是同步执行还是异

【前端100问】Q13:Promise 构造函数是同步执行还是异

作者: alanwhy | 来源:发表于2020-12-09 12:04 被阅读0次

写在前面

此系列来源于开源项目:前端 100 问:能搞懂 80%的请把简历给我
为了备战 2021 春招
每天一题,督促自己
从多方面多角度总结答案,丰富知识
Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?

正文回答

const promise = new Promise((resolve, reject) => {
  console.log(1);
  resolve();
  console.log(2);
});

promise.then(() => {
  console.log(3);
});

console.log(4);

执行结果是:1243
promise 构造函数是同步执行的,then 方法是异步执行的

Promise new 的时候会立即执行里面的代码 then 是微任务 会在本次任务执行完的时候执行 setTimeout 是宏任务 会在下次任务执行的时候执行

一些扩展

const promise = new Promise((resolve, reject) => {
  console.log(1);
  resolve(5);
  console.log(2);
}).then((val) => {
  console.log(val);
});

promise.then(() => {
  console.log(3);
});

console.log(4);

setTimeout(function () {
  console.log(6);
});

// 124536

相关文章

  • 【前端100问】Q13:Promise 构造函数是同步执行还是异

    写在前面 此系列来源于开源项目:前端 100 问:能搞懂 80%的请把简历给我[https://github.co...

  • 前端程序员面试你应该懂的原生JS——3

    1. Promise构造函数是同步还是异步执行,then呢 ?promise如何实现then处理 ? Promis...

  • ES6的面试问题

    使用箭头函数应该注意什么? 介绍下set、map的区别? promise构造函数是同步执行还是异步执行,那么the...

  • promise 练习题(一)基础题型

    分析过程 从上至下,先遇到new Promise,执行该构造函数中的代码promise1 然后执行同步代码1,此时...

  • Promise 事件机制

    执行循序 setTimout和promise 这里我们先要理解js是是单线程执行的。在内存中函数的执行是分同步和异...

  • 浅谈promise

    Promise是一个构造函数,用来解决回调地狱问题,可以将异步操作以同步操作的流程表达出来。promise构造函数...

  • Promise从入门到拿Offer之手写Promise

    1、Promise构造函数的实现 Promise构造函数用来声明示例对象,需要传入一个执行器函数。其中包括reso...

  • promise用法

    Promise笔记 1.promise构造函数 Promise是一个构造函数,传参是一个function(reso...

  • ES6 Promise 异步2

    概念: Promise 是一个构造函数,既然是构造函数,就可以 new promise()一个 promise 实...

  • promise函数详解

    复制到你的vscode上看//promise最核心的思想:用同步的流程解决异步的操作 //Promise 构造函数...

网友评论

    本文标题:【前端100问】Q13:Promise 构造函数是同步执行还是异

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