promise的原理及面试题

const promise = new Promise((resolve, reject) => {
    console.log(1);
    resolve();
    console.log(2);
})
promise.then(() => {
    console.log(3);
})
console.log(4);以上输出结果为1243首先Promise新建后立即执行,所以会先输出1,2,而Promise.then()内部的代码在当次事件循环的结尾立即执行,所以会先输出4,最后输出3.

原文地址:https://www.cnblogs.com/dylAlex/p/11093168.html

时间: 2024-10-01 00:29:20

promise的原理及面试题的相关文章

学习Promise实现原理(附源码)

本篇文章主要在于探究 Promise 的实现原理,带领大家一步一步实现一个 Promise , 不对其用法做说明,如果读者还对Promise的用法不了解,可以查看阮一峰老师的ES6 Promise教程. 1. Promise 基本结构 new Promise((resolve, reject) => { setTimeout(() => { resolve('FULFILLED') }, 1000) }) 构造函数Promise必须接受一个函数作为参数,我们称该函数为handle,handle

promise实现原理代码

//Promise实现原理 // 实例方法 // then // catch // new P( 函数 ).then(functon(){}).then(function(){}) // let p = new MyPromise(); // p.resolve(); //不允许的 // 静态方法 // all // race // 属性 // status : pending / resolved / rejected // resolve / reject // 要求, 每个promise对

Promise实现原理

这两天在熟悉 kissy框架的时候,看到了 Promise 模块. Promise 对于一个Jser并不陌生, Promise 类似于一个事务管理器,它的作用就是将各种内嵌回调的事务用流水形式表达.利用 Promise 可以让异步编程更符合人的直觉,让代码逻辑更加清晰,把开发人员从回调地狱中释放出来.这么“高大上”的东西,以前写 nodejs 代码的时候只是简单的用用,还没有理解其基本的实现原理,罪过!个人认为,理解编程思想最好的途径就是阅读一份简易的实现源码.很幸运,网上有不少 Promise

Promise核心原理解析

作者: HerryLo 本文永久有效链接: https://github.com/AttemptWeb...... Promises对象被用于表示一个异步操作的最终完成 (或失败), 及其结果值.主要是为了解决异步操作的问题. #Promise对象的状态 一个 Promise对象有以下三种状态: pending: 初始状态,既不是成功,也不是失败状态. fulfilled(resolved): 意味着操作成功完成. rejected: 意味着操作失败. Promise对象内部运行的一个变化, 变

Windows原理常见面试题

IMAGE_OPTIONAL_HEADER结构如下: typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. // WORD Magic; // 标志字, ROM 映像(0107h),普通可执行文件(010Bh) BYTE MajorLinkerVersion; // 链接程序的主版本号 BYTE MinorLinkerVersion; // 链接程序的次版本号 DWORD SizeOfCode; // 所有含代码的节的总大小

session实现原理(阿里面试题)

问: 当用户登录某网站后,向服务器发送一个请求,服务器如何判断是这个用户请求的 首先,你要明白一点,最初http协议在设计的时候,主要面向当时的web1.0网站,他们不需要知道是谁来访问,只需要向外界提供相应的web服务即可. 但是,在web2.0的网站中,用户和网站发生相关的信息交互.所以,web服务提供者需要知道,是谁发起了请求.也就是,服务端有能力从http数据包中提取用户的相关信息. 现在一般采用使用服务器端产生的Session结合浏览器的Cookie.实现用户与客户端之间唯一秘钥,上面

Promise 原理

剖析 Promise 之基础篇 从JavaScript的事件循环到 理解 Promise 的工作原理 Promise原理 Promise的实现原理 Promise原理解析 深入 Promise(一)--Promise 实现详解 JS Promise的实现原理 深入了解promise的原理 原文地址:https://www.cnblogs.com/yancongyang/p/8949910.html

这一次,彻底弄懂 Promise 原理

Promise 必须为以下三种状态之一:等待态(Pending).执行态(Fulfilled)和拒绝态(Rejected).一旦Promise 被 resolve 或 reject,不能再迁移至其他任何状态(即状态 immutable). 基本过程: 初始化 Promise 状态(pending)执行 then(..) 注册回调处理数组(then 方法可被同一个 promise 调用多次)立即执行 Promise 中传入的 fn 函数,将Promise 内部 resolve.reject 函数作

Javascript异步编程之三Promise: 像堆积木一样组织你的异步流程

这篇有点长,不过干货挺多,既分析promise的原理,也包含一些最佳实践,亮点在最后:) 还记得上一节讲回调函数的时候,第一件事就提到了异步函数不能用return返回值,其原因就是在return语句执行的时候异步代码还没有执行完毕,所以return的值不是期望的运算结果. Promise却恰恰要回过头来重新利用这个return语句,只不过不是返回最终运算值,而是返回一个对象,promise对象,用它来帮你进行异步流程管理. 先举个例子帮助理解.Promise对象可以想象成是工厂生产线上的一个工人