首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
facecool3
›
全部回复第 1 页 / 共 1 页
回复总数
3
2022 年 3 月 9 日
回复了
kiritoxf
创建的主题
›
程序员
›
在前端面试八股中,问到 Promise 时面试官是想听到什么样的答案?
大家来做题
const pro1 = new Promise((resolve, reject) => {
reject('reject')
})
pro1.then(data => {
console.log(data);
return '0';
}, err => {
console.log(err);
return 1;
}).catch(err => {
console.log(err);
return 2;
}).then(data => {
console.log(data);
})
2022 年 3 月 9 日
回复了
kiritoxf
创建的主题
›
程序员
›
在前端面试八股中,问到 Promise 时面试官是想听到什么样的答案?
我会这样子回答。不知道面试官爱听不爱听
promise 是 es6 推出的一个异步处理的通用模型,
它把一个异步任务分为 2 个阶段,未决阶段和已决阶段
未决阶段中 promise 的状态是 pending ,可以通过 resolve 或 reject 把任务
推向已决阶段,如果是 resolve ,那 promise 的状态就是 fulfiled ,如果是 reject
那 promise 的状态就是 reject ,
推向已决阶段的同时,可以传递参数,用于对 promise 的后续处理。
后续处理用 then 函数,里面传 2 个回调,一个处理 resolve 一个处理了 reject
每个回调都能拿到他们状态改变时传递的对应的参数。then 函数是放到事件队列的微队列中的
then 函数也会返回一个 promise 对象,这个 promise 的状态根据后续处理函数的执行过程来决定。
如果没有对应的后续处理了,那这个 Promise 的状态与数据和上一个保持一致
如果执行中有错误,那就是 rejected 。
如果有对应的后续处理也没有错误,那这个 promise 的状态就是 fulfiled,数据就是处理函数的返回值
2021 年 11 月 5 日
回复了
shmichaelli
创建的主题
›
上海
›
上海的程序员交流群(技术、求职、生活)
SlFLMTIzNjk4NzQ1
关于
·
帮助文档
·
自助推广系统
·
博客
·
API
·
FAQ
·
Solana
·
2649 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms ·
UTC 04:34
·
PVG 12:34
·
LAX 20:34
·
JFK 23:34
♥ Do have faith in what you're doing.
❯