当前位置: 首页 > news >正文

前端一文搞懂Promise 再也不害怕面试官问的问题啦~

前端面试,前端Promise一文搞懂(只讲解工作中能用到的方法)

一、Promise的出现是为了解决异步的嵌套问题,导致代码太多严重的时候可能会出现嵌套地狱的问题
二、Promise的返回值解析(pedding fulfilled rejected)
1、pedding 当promise 状态没有被改变的时候 一直会处在pedding状态,我们可以把它当作等待状态
2、pedding 当promise 状态有被改变的时候(调用resolve),那么promise会处在fulfilled状态,我们可以把它当作请求成功状态
3、pedding 当promise 状态有被改变的时候(调用reject),那么promise会处在rejected状态,我们可以把它当作请求拒绝状态
三、看成功的回调效果
在这里插入图片描述
源代码截图:
在这里插入图片描述
源代码:

// 1.promise  Async await// 2.proxy// 3.Module
import React from 'react'export default function index() {// 同步和异步   同步是按照顺序  常见的异步 :定时器  Ajaxconst p1 = new Promise((resolve, reject) => {resolve('任务1:成功')// reject('失败')})//调用resolvep1.then((res)=>{console.log(res);return new Promise((resolve, reject) => {resolve('任务2:成功')// reject('失败')})},err=>{console.log('任务1:失败');//任务1的失败结果可能会被任务2的失败结果捕获throw new Error('任务1失败')}).then((res)=>{console.log(res)},err=>{console.log('任务2:失败');})console.log(p1)return (<div></div>)
}

四、看失败的回调效果
在这里插入图片描述
源代码截图:在这里插入图片描述
源码:

// 1.promise  Async await// 2.proxy// 3.Module
import React from 'react'export default function index() {// 同步和异步   同步是按照顺序  常见的异步 :定时器  Ajaxconst p1 = new Promise((resolve, reject) => {// resolve('任务1:成功')reject('失败')})//调用resolvep1.then((res)=>{console.log(res);return new Promise((resolve, reject) => {// resolve('任务2:成功')reject('失败')})},err=>{console.log('任务1:失败');//任务1的失败结果可能会被任务2的失败结果捕获throw new Error('任务1失败')}).then((res)=>{console.log(res)},err=>{console.log('任务2:失败');})console.log(p1)return (<div></div>)
}

六、注意事项
成功状态不用多说,失败的回调必须要注意,因为失败的回调参数传参必须是链式回调的.then的第二个参数,.then的第一个是调用对象的返回结果,第二个才是返回的失败调用的错误返回


http://www.mrgr.cn/news/39007.html

相关文章:

  • cuda基础知识
  • 用CMake添加gtest测试用例gtest_discover_tests指令函数的分析
  • 扣子创建的智能体,发布成api,使用java进行调用
  • 关于PHP 匿名函数在处理数据结构中的应用
  • 深入解析网络通信的四大关键要素:网卡、MAC地址、IP地址、子网掩码与端口
  • 【Bug】解决 Ubuntu 中 “error: Unable to Find Python3 Executable” 错误
  • 代替@Autowire去注入,使你的代码更简便
  • 【Kubernetes】常见面试题汇总(三十八)
  • CDGA|利用人工智能与边缘计算显著提升数据治理效率与效果的实践案例
  • MES管理系统解决方案对中小企业有哪些帮助
  • Python编码系列—Python访问者模式:为对象结构添加新功能的艺术
  • 好用的电容笔有哪些推荐?2024盘点五款高性价比平替电容笔!
  • 视频美颜SDK与直播美颜工具API的架构设计与实现
  • Comfyui 学习笔记3
  • 强化学习入门——Pybullet初体验
  • 股票接口api,如何用excel获得股票实时数据
  • 基于PHP+MySQL组合开发的分类信息网站源码系统 带完整代码包以及搭建部署教程
  • MongoDB 工具包安装(mongodb-database-tools)
  • 安卓13默认使用大鼠标 与配置分析 andriod13默认使用大鼠标 与配置分析
  • Exception in thread “threadPoolTaskExecutor-1“ java.lang.NullPointerException