面试官常问的Promise问题

2023-05-16

1.Promise 有几种状态?
3种。
pending:初始化状态
resolved:当调用成功时的状态
reject:当调用失败时的状态
2.Promise得状态是否可变
不可变
3.Promise如何解决地狱回调?
地狱回调:发送多个异步请求时,每个请求之间相互都有关联,会出现第一个请求成功后再做下一个请求的情况。我们这时往往会用嵌套的方式来解决这种情况,这就形成了回调地狱。
then里面可以return Promise,来防止地狱回调
4.Promise有哪些方法?他们的应用场景是什么?(all/race)
Promise.all()接收一个对象数组为参数,处理并进行异步操作,如果成功就返回一个数组,失败就返回数据,一旦失败就不会继续往下走
Promise.race()成功返回一个数组,就返回那个成功的数组,不管结果本身是成功还是失败
5.如何让Promise顺序执行(async/await)
async用于函数声明,表示声明的函数为异步函数,这个函数返回一个Promise对象(resolve)
await表示在这里等待promise返回结果
async function getData(){
await promise1.then(v => console.log(v))
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试官常问的Promise问题 的相关文章

  • 如何确保 Jest 在“unhandledRejection”上失败?

    我们的单元测试在持续交付管道的容器中运行 有时 我们不会在单元测试中处理拒绝 但是 我认为这是不正确的 并且在我看来管道应该失败 我怎样才能确保当我执行时jest并且在测试期间unhandledRejection事件发生 jest 会错误退
  • 蓝鸟承诺解析(数据)在客户端代码中未定义

    希亚斯 我有一个简单的应用程序 客户端期望得到一个承诺作为结果 但是在调用resolve 方法时 承诺不断返回未定义的结果 客户端代码 UsersRepo findOneAsync id id then function err resul
  • 如何将回调转换为 Promise

    我正在使用 play 框架和 Apache Kafka 我有一个 POST 方法 可以向 Kafka 发送消息 Kafka有一个API方法 公共 java util concurrent Future 发送 ProducerRecord 记
  • 如何通过嵌套正确链接 Promise

    我的节点项目当前包含嵌套回调的侧向圣诞树 以便获取数据并按正确的顺序处理它们 现在我正在尝试使用 Promises 重构它 但我不确定如何正确执行 假设我要获取办公室列表 然后获取每个办公室的所有员工 然后获取每个员工的工资 最后 所有实体
  • Node.js 承诺请求返回

    我使用 promis 模块从请求模块返回 json 数据 但每次运行它时 它都会给我这个 Promise 45 0 81 0 65 null 54 null 我无法让它工作 有人知道问题所在吗 这是我的代码 function parse r
  • Async/Await 无法按预期使用 Promise.all 和 .map 函数

    我有很多async我正在使用的功能 但遇到了一个奇怪的问题 我的代码正在运行 如下所示 async mainAsyncFunc metadata let files metadata map data gt this anotherAsyn
  • 轮询时承诺异步等待

    我正在尝试将使用承诺 和轮询 的函数转换为异步函数 但我不太确定它是如何工作的 我有这个 function myFunction return new Promise resolve gt stuff here var poll setIn
  • JavaScript 中的 Promise.all:如何获取所有 Promise 的解析值?

    我编写了以下node js文件 var csv require csv parser var fs require fs var Promise require bluebird var filename devices csv var d
  • 使用 Promise 语法编写同步代码有什么好处吗?

    有同步承诺这样的概念吗 使用 Promise 语法编写同步代码有什么好处吗 try foo bar a b bam catch e handleError e 可以写成类似的东西 但使用同步版本then foo then bar bind
  • 如何将现有回调 API 转换为 Promise?

    我想使用 Promise 但我有一个回调 API 其格式如下 1 DOM加载或其他一次性事件 window onload set to callback window onload function 2 普通回调 function requ
  • AngularJS 服务并承诺最佳实践

    我有一个 AngularJS 应用程序services 调用 http资源并返回promise我在控制器中解决了这个问题 这是我正在做的事情的示例 app service Blog function http q var deferred
  • Promise 构造函数回调的主体何时执行?

    假设我有以下代码构造一个Promise function doSomethingAsynchronous return new Promise resolve gt const result doSomeWork setTimeout gt
  • 函数不会等到 Promise 得到解决

    我正在开发一个简单的不和谐机器人 我正在尝试打印有关某个玩家的一些一般数据 我最近了解了 async await 并尝试将其实现到我的代码中 然而 它似乎不起作用 因为当我第一次触发此代码时 它会打印 null 但在后续触发时 它将打印正确
  • 如何异步处理未处理的承诺拒绝?

    我正在尝试解决我面临的有关异步 等待和承诺的问题 我设法将问题归结为以下代码 async function sleep ms number return new Promise resolve gt setTimeout resolve m
  • Twisted 的 Deferred 和 JavaScript 中的 Promise 一样吗?

    我开始在一个需要异步编程的项目中使用 Twisted 并且文档非常好 所以我的问题是 Twisted 中的 Deferred 与 Javascript 中的 Promise 相同吗 如果不是 有什么区别 你的问题的答案是Yes and No
  • 何时不使用承诺[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在阅读了数十篇关于 es6 Promise 有多伟大以及为什么我们应该实现它们的文章之后 我有这样的感觉 ALL我的 不平凡的 JavaScri
  • 等待承诺的 fs.writeFile 与 fs.writeFileSync

    此选项之一有一些优点吗 1 const fs require fs const testFunc1 async gt fs writeFileSync text txt hello world 2 const fs require fs c
  • Javascript:在没有库的情况下连续(或顺序)运行异步任务

    我想在循环中运行一些异步任务 但它应该按顺序执行 一个接一个 它应该是普通的 JS 不带有任何库 var doSome function i return Promise resolve setTimeout gt console log
  • Promise.any() 和 Promise.race() 有什么区别

    有什么区别Promise any and Promise race 以及它们如何以不同的方式使用 From MDN https developer mozilla org en US docs Web JavaScript Referenc
  • Intern JS - 如何在链式 Command 方法中使用 Promise.all()?

    我是用 Intern JS 编写测试的新手 并且一直在遵循他们的文档来使用对象接口 https theintern github io intern interface object and 页面对象 https theintern git

随机推荐

  • prometheus-2.37.0监控平台编译部署

    文章目录 简单介绍环境代码包下载官网地址CSDN组合包下载服务器下载 Prometheus体系结构图Prometheus部署安装配置为系统服务prometheus service加载配置 验证 AlertManager部署安装配置为系统服务
  • Adversarial Attack (对抗攻击)

    目录 MotivationHow to AttackExample of AttackHow to Attack White Box Attack Black Box AttackOne pixel attackUniversal Adve
  • ros读取硬件网络摄像头/USB摄像头/本地文件

    参考 xff1a wiki教程 https github com ros drivers video stream opencv git 0 查看摄像头是否挂载及挂载的USB端口号 两个USB摄像头同时使用 hub连接电脑 xff0c 会报
  • 安装YOLO_V5环境以及测试——NVIDIA Jetson Xavier AGX平台

    参考 Ubuntu 18 04 YOLOv5 ros yolo 环境配置 数据集标注 NVIDIA Jetson Xavier NX入门 xff08 3 xff09 安装miniforge和Pytorch NVIDIA Jetson Xav
  • teleop_twist_joy 游戏手柄ros使用

    参考 xff1a wiki官网链接 https github com ros teleop teleop twist joy git 查看每个按钮和轴对应的索引以及键值 span class token comment 1 通过话题查看 s
  • ROS melodic+opencv4 修改cv_bridge配置文件

    参考 xff1a Ubuntu18 04 43 ROS melodic 43 opencv4 修改cv bridge配置文件 xff0c 解决ROS使用不同版本opencv的冲突问题 Ubuntu18 04 ros melodic open
  • 使用ROS调用YOLO_V5(非darknet),利用ros-yolov5配置

    参考 xff1a 源码 安装YOLO V5环境以及测试 NVIDIA Jetson Xavier AGX平台 0 ros yolo5介绍 实现yolo作为service的server 发送sensor Imge 图片 得到yolo检测的结果
  • ROS仿真环境配置Husky+32线激光雷达+深度相机+imu+gps

    0 参考 wiki HUSKY 官网 git HUSKY HUSKY gazebo Tutorials 代码资源 husky base xff1a 与板载MCU通信的硬件驱动程序 husky bringup xff1a 调出启动文件和脚本
  • ros中使用Docker(2)VNC

    使用paopao机器人的ros vnc 镜像 dockerhub xff1a paopaorobot ros vnc网址 按照官网操作即可 下载镜像 span class token function docker span pull pa
  • winform窗体应用程序

    在C 编程环境中 xff1a winform窗体应用程序是一种客户端程序 xff0c 可以用来获取和显示数据 首先新建一个窗体应用程序项目 xff0c 在建完一个项目后可以看到有两个 cs类库文件 xff1a Form1 cs 和Progr
  • 3D目标跟踪(2)点云聚类

    点云聚类流程
  • GCAN -212(R2) can转网 使用记录

    GCAN 212 R2 使用udp模式 在配置软件进行配置 选择udp模式 xff1b 选择Remote IP 为本机PC的IP地址 xff1b 编写ROS程序 未完成 参考程序1 参考程序2 节点数据驱动 xff1a 主线程udp接收数据
  • 分卷压缩与分卷解压

    span class token comment 1 分卷压缩 span span class token function tar span cvzpf myfile span class token operator span span
  • java 域的概念_java中的域,静态域,实例域

    1 java中的域 所谓的域 xff0c 翻译成英文就是field xff0c 也就是我们常说的字段 xff0c 或者说是属性 比如类的字段 属性 xff0c 局部的 xff0c 全局的 所谓域 xff0c 其实是 field 的翻译 然后
  • mysql 字段最右匹配_【MySQL】-索引优化

    优化口诀 xff1a 全值匹配我最爱 xff0c 最左前缀要遵守 xff1b 带头大哥不能死 xff0c 中间兄弟不能断 xff1b 索引列上少计算 xff0c 范围之后全失效 xff1b Like百分写最右 xff0c 覆盖索引不写星 x
  • Meta-learning:Learn to learn

    基于李宏毅教授的ML课程做的笔记 xff0c 主要供自己复习 xff0c 所以就留下了一些自己想多看的东西 xff0c b站有全面的课程视频 引言 xff1a 为什么few shot任务常常提及元学习meta learning xff1f
  • Hadoop----hdfs dfs常用命令

    span class token operator span mkdir 创建目录 hdfs dfs span class token operator span mkdir span class token punctuation spa
  • 如何处罚被客户投诉的项目经理?

    没有被客户投诉过的项目经理很难体会到客户满意度的重要性 项目经理被客户投诉 xff0c 一定要执行合适的处罚 xff0c 否则项目管理将失去基本游戏规则 自由是有限度的 xff0c 项目经理一定不能突破客户投诉的红线 如同不断的抛接球 xf
  • k8s kube-router+ipvs pod网络分析

    集群中的每个节点上都有一个kube bridge网桥 xff0c 是部署k8s时创建的网桥 xff0c 用于pod间通信k8s 利用veth pair和网桥实现容器通信 xff0c 一端与pod绑定 xff0c 一端绑定到kube brid
  • 面试官常问的Promise问题

    1 Promise 有几种状态 xff1f 3种 pending 初始化状态 resolved 当调用成功时的状态 reject 当调用失败时的状态 2 Promise得状态是否可变 不可变 3 Promise如何解决地狱回调 xff1f