首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试官:为什么Promise中的错误不能被trycatch?

前言 之前我写过一篇文章,讨论了为什么async await中的错误可以被try catch,而setTimeout等api不能,有小伙伴提出之前面试被面试官问过为什么Promise的错误不能try catch...异步处理在我们日常开发中是很常见的场景,在Promise出现之前,我们都是通过回调来处理异步代码的结果,但是出现了一些问题: 回调地狱,在有多个异步逻辑存在依赖关系时,我们只能在回调里嵌套,这些深度嵌套的代码让代码难以阅读和维护...如果这些代码都改成回调的方式,就会形成回调地狱,每一步都要判断错误,一层一层嵌套,大大增加了代码的复杂度,而Promise的机制能够让代码扁平化,相比之下更容易理解。...我在这里没有去处理finally handler可能出现的错误,这样我代码的调用方既可以处理结果也可以处理错误,而我可以保证我打开的一些副作用被正确销毁(比如这里的隐藏loading)。...,由于篇幅的原因下次再见啦,Happy coding~

1.6K30

【DB笔试面试851】在Oracle中,造成“ORA-28040: No matching ...”错误的原因是什么?

♣ 问题 在Oracle中,造成“ORA-28040: No matching authentication protocol”错误的原因是什么?...♣ 答案 该错误是由于SQL*Plus的版本和数据库服务器的版本不一致导致的,使用oerr命令来查看,在Oracle 11g下: [oracle@orcltest ~]$ oerr ora 28040...可以看到,该参数在Oracle 11g和12c以上版本中的解决方案是不同的。...如果继续使用该参数,会在告警日志中无穷无尽的报“Using deprecated SQLNET.ALLOWED_LOGON_VERSION parameter.”。...& 说明: 有关该错误的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2131338/ 本文选自《Oracle程序员面试笔试宝典》,作者

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    视频为什么可以被压缩?帧内压缩与帧间压缩有何区别?视频编码中的CBR、VBR、CRF...是什么?

    视频为什么可以被压缩? 因为存在冗余。 首先,视频是由一帧帧图像组成的,利用人眼视觉暂留的原理,使人眼产生了运动的感觉。...2)时间冗余:序列图像一般是位于时间轴区间内的一组连续画面,其中的相邻帧,或者相邻场的图像中,在对应位置的像素之间,亮度和色度信息存在着极强的相关性。...如压缩 GOP 图像组中的 B 帧与 P 帧。 帧间压缩的主要过程先进行宏块查找,寻找出残差值,进行运动矢量计算,最后通过残差值和运动矢量推算出下一帧的数据。...; 运动估计:针对当前块从上一帧中搜索最相似的块; 运动补偿:通过残差值和运动矢量推断出下一帧的数据。...视频编码中的CBR、VBR、CRF...是什么? 在视频编码中,有一个模块是码率控制,即通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使编码失真尽可能小。

    37610

    精读《维护好一个复杂项目》

    所以拥有一个良好,正面或者说积极的主人翁心态来写代码,一般来说都可以维护好复杂项目。 解耦 复杂项目的复杂指的是什么呢?是指功能多吗?其实不然。...因为代码世界的逻辑是不同开发者码出来的,在实现世界底层逻辑时可能就埋下了耦合的种子,导致你不知道为什么买菜会触发那么严重的事情。...举个例子,改一个文案导致系统崩溃,原因可能是某处错误兜底逻辑用字面量判断了这个文案,而你把文案改了,这个判断就失效了。有的程序员挺难的,在这种项目环境下生存,每一步修改都要小心翼翼。...为了做到这一点,就必须让布局真的 “只做布局”,而不存储当前画布结构,这样才不会因为布局系统被移除时,影响组件的联动,因为组件联动需要利用画布结构 API。...图层列表也可以和布局解耦,因为图层列表只关心画布的组件树结构,而不关心布局是如何实现的,所以画布的组件树结构就像生活中的金钱,大家都可以用它交易,而无需关心它流向了何方,被谁使用。

    36430

    Web标准中的常见问题

    Web标准中的常见问题 引言 大概在2004年的时候,Web标准的概念藉由一本名为《网站重构》的书开始被国内人所了解。...以页面一来说,注意到左边有“相关链接”,你可能会奇怪,在上面的导航中已经可以访问到“相关链接”里的全部内容,这里为什么还要多此一举呢?为了好看么?为了可访问性!...在这里提出几点建议: 每个页面都应该有且只有一个 ,且出现在页面最上方(也可以被包含在一个Div中)。 有了,自然应该有、,用标题去划分文档结构。...我所知道的Web标准世界级专家,没有人提到说“Web标准就是不使用表格”。Web标准只是说:不应该使用表格去布局,而不是说表格这个标记没有存在的价值。...尽管这种对于Web标准的态度值得敬佩,但却有些得不偿失。我们有没有思考过为什么要使用Web标准?我想可能主要有这么几个原因:1、浏览器兼容性。2、搜索引擎友好型。3、降低页面文件大小。

    1.2K50

    初学html常见问题总结

    出现这样的问题都是我们书写代码时马虎所致,类似的错误还有很多,这样的错误一但出现了,很不容易查找,所以要求我们在书写代码时要尽量规范认真。...出现这样的问题都是我们书写代码时马虎所致,类似的错误还有很多,这样的错误一但出现了,很不容易查找,所以要求我们在书写代码时要尽量规范认真。...出现这样的问题都是我们书写代码时马虎所致,类似的错误还有很多,这样的错误一但出现了,很不容易查找,所以要求我们在书写代码时要尽量规范认真。...出现这样的问题都是我们书写代码时马虎所致,类似的错误还有很多,这样的错误一但出现了,很不容易查找,所以要求我们在书写代码时要尽量规范认真。...出现这样的问题都是我们书写代码时马虎所致,类似的错误还有很多,这样的错误一但出现了,很不容易查找,所以要求我们在书写代码时要尽量规范认真。

    3.6K41

    【🐯初u002F中级前端面经】中小型公司面试时都会问些什么?

    table 此元素会作为块级表格来显示,表格前后带有换行符。 inherit 规定应该从父元素继承 display 属性的值。 flex 弹性盒模型。 grid 网格布局。...有什么优缺点 同步和异步的区别 如何解决跨域问题 WEB 应用从服务器主动推送 Data 到客户端有哪些方式 经常遇到的浏览器的兼容性问题有哪些?原因是什么?...如何实现一个幻灯片效果 手写表格 ajax 是什么?...这类状态代码代表了服务器在处理请求的过程中有错误或异常状态发生 500 (服务器内部错误)服务器遇到错误,无法完成请求 501 (尚未实施)服务器服务器不具备完成请求的功能 502 (错误网关)服务器作为网关或代理...为什么从上一家公司离职 我回答的主要两个原因,一个是想学习更多东西,另一个是老生常谈的薪资问题。

    2.5K10

    凤凰项目--团队合作与沟通

    本文将对其中一些重要的方法进行总结,并阐述如何在工作中使用这些方法。 三问法和五个为什么方法 三问法被描述为一种反复提问的方法,通过不断提问来找到问题的本质和根本原因。...书中举了一个例子,一个系统的测试不通过,我们可以通过三问法来找到问题的本质: 问题是什么?系统测试不通过。 为什么会发生这个问题?因为代码中存在错误。 怎么解决这个问题?修改代码中的错误。...五个为什么也被描述为一种深入问题本质的方法。与三问法不同的是,五个为什么需要反复提问五个为什么来逐步深入问题的本质。...书中同样举了一个例子,一个生产线出现故障,我们可以通过五个为什么来找到问题的本质: 问题是什么?生产线出现故障。 为什么会发生这个问题?因为机器出现故障。 为什么会有这个原因?因为机器没有保养。...为什么会有这个原因的原因?因为没有人进行定期保养。 为什么会有这个原因的原因的原因?因为没有设立保养的责任人。 在工作中,大家可以结合具体问题,灵活运用三问法和五个为什么。

    28710

    「前端组件化」以Antd为例,快速打通UI组件开发的任督二脉

    每个系统,无论是业务特性、交互特性还是UI特性,都可以整理出一部分通用组件,比如标题、页面布局、列表、可编辑表格、模糊搜索框等以列表为例Antd有现成的Table组件,但是我们实际开发中,一般列表管理页是带搜索项以及数据展示的...官网指路☞Ant Design赏析前准备学习第三方组件之前,不能盲目看代码,可能会找不到重点或者被大量的逻辑绕晕。...展示层看col文件中这三行代码,和各种style、className变量。不难发现,栅格化布局主要是通过组件参数对样式的控制来实现的。...Steps 步骤条我们来看看步骤条的功能。步骤条状态,已完成、进行中、未开始、运行错误。两种展示方式,横向和纵向。不同展示类型,数值类、自定图标类、点状类。内容展示,标题、子标题、详情描述。...在RcTable组件中,表格列展示内容是封装到子组件Body中的。

    2.3K10

    ProGuard 在 Android 上的使用姿势

    当一些类和方法会被动态访问到时(如使用反射),在某些情况下,ProGuard 在构建调用图时不能正确的决定他们的「生死」,导致这些代码被错误的移除掉。...这就是为什么在上面动图中 MyActivity 类没有被被移除或者重命名....AAPT 也会 keep 住所有在 XML 布局文件使用到的 View 类(和它们的构造函数)和其他一些类,如在过渡动画资源中引用到的过渡类。...这些警告的一个原因就是,您的构建路径中没有加入需要依赖的 JARs,如使用了 provided (仅编译时)依赖。而有时候,在 Android 上这些代码的依赖在运行时并不会被真正的调用。...在构建输出中,您会看到是什么调用链决定了 ProGuard 保留这些代码。 ?

    2.6K40

    R 树在前端性能优化中的使用

    如今尽管前端的能力越来越强了,涉及到代码构建、编译等,但依然有十分丰富且成熟的工具可供使用,因此前端被认为是可替代性十分强的职位。在降本增效大时代,“前端已死”等说法也常常会被提出来。...树的数据结构 树在前端开发里其实并不应该很陌生,浏览器渲染页面过程中必不可缺,包括 HTML 代码解析完成后得到的 DOM 节点树和 CSS 规则树,布局过程便是通过 DOM 节点树和 CSS 规则树来构造渲染树...基于这样一个渲染过程,我们页面的代码也经常是树的结构进行布局。除此之外,热门前端框架中也少不了 AST 语法树,虚拟 DOM 抽象树等等。...举个区域权限的例子,我们在表格中设置了两个区域权限,显然堆叠部分会需要两个权限都满足才可以编辑: 这样一个查询权限的方法也很简单: import { RTree } from '.....当然,使用更优的数据结构和算法可以有不少的性能优化,而更多时候我们代码本身编写的问题也经常是导致性能问题的原因,定位并解决这些问题也是零碎但必须解决的事情。

    34431

    从前端性能优化引申出来的5道经典面试题(值得收藏)

    js 脚本放在尾部还有一个原因,有时候 js 代码会有操作 dom 节点的情况,如果放在头部执行,DOM树还没有构建,拿不到 DOM 节点但是你又去使用就会出现报错情况,错误没处理好的话页面会直接崩掉...问题 3:重排重绘为什么会影响渲染,如何避免重排和重绘为什么会影响渲染,哪个影响更大,如何避免是经常被问到的一道题目,我们先来说一下重绘 重绘 重绘指的是不影响界面布局的操作,比如更改颜色,那么根据上面的渲染讲解我们知道...因为有可能你vs中的eslint插件突然关闭了或者某些原因vs不能检查了,只能靠webpack构建去帮你拦住错误代码的提交,即使这样还不能确保万无一失,因为你可能某一次提交代码很急没有启动服务,直接盲改提交上去了...所以代码优化的原则之一我认为是能不写的代码就不写,当然这是要从性能角度出发,通过性能分析给产品说出理由,并且最好还能提供更好的解决方案,这个才是我们需要考虑的。...就是这样几行代码,逻辑就是筛选出data里面已经被勾选的数据。

    92560

    如何实现前端白屏监控?

    方案调研 白屏大概可能的原因有两种: js 执行过程中的错误 资源错误 这两者方向不同,资源错误影响面较多,且视情况而定,故不在下面方案考虑范围内。...我认为是非常简单暴力且有效的方案。...那么对于 React 而言,答案就是: Error Boundaries Error Boundaries 我们可以称之为错误边界,错误边界是什么?...100% 这个词或许不够负责,接下来我们来看看为什么我说这一推导是 100% 准确的: React 渲染流程 我们来简单回顾下从代码到展现页面上 React 做了什么。...ok,相信到这里大家应该清楚错误边界的处理流程了,也应该能理解为什么我之前说由 ErrorBoundry 推导白屏是 100% 正确的。

    1.8K20

    Jelys Note之生信入门class5

    逻辑值的否定 {} 多行代码 ::包::函数 4.认清函数和数据 · 只有数据才能被取子集![] · 两个中括号前取子集一般是从列表中提取!...[[]] · 而文件名称应该:1.在实际参数位置2.且在能识别文件名称的函数括号内3.带引号 5. 解决问题的正确姿势 (1)检查代码与环境 代码错误?环境问题?工作目录?重启?.../文件夹/文件名) 3.经典报错: 原因1:文件没有存放于工作目录下/拼写错误用Tab自动补齐 4.默认参数不适于你当前需要手动调整 (8)读取ex1.txt ex1 被正确识别!如header=F 解决办法:!看函数帮助文档! read.table(file,header=F---表格中的第一行是否是列名!)...=哑巴地雷 连续两个分隔符=空列=一切看不见的东西都会被认为是!

    91010

    深度学习能用于界面设计吗?

    2.出了错误可能自己都不知道 有些设计师可能会因为缺乏时间、实践或者经验等原因把自己局限在舒适区,也有可能因为不知道更先进的设计方法和设计规范导致自己的设计方案出现错误。...3.强调竞品分析,但不知道竞品为什么要这样做 改版时我们会参考做得好的竞品,很多时候我们只停留在表面的界面改版上,但我们并不知道他们背后的数据是怎样的,也不知道他们的长远规划,究竟是什么原因才会设计成这样...4.设计维护成本高 一般一个项目有多个设计师参与,设计师的加入或者离开会对整个项目产生影响;加上项目不断的更新迭代和上述三个原因会导致正确的设计方案维护成本较高,所以在很多产品上都能看到不同的设计错误...4.自动检测GUI中的错误 在《自动报告移动应用程序的GUI设计违规》论文中,作者提出了一种名为GVT(Gui Verification)的方法,它能通过计算机视觉技术和启发式检查来识别GUI实现中的常见错误...基于草稿的界面生成主要原理是找到手绘控件和系统控件样式之间的规律,然后寻找草稿中控件的布局关系,最后翻译成界面布局和页面代码。

    1.9K30

    requestIdleCallback

    此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。...由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。...从上面一帧的构成中可以看到, requestIdleCallback回调执行之前, 样式变更以及布局计算等都已经完成. 如果在callback中修改 DOM 的话, 之前所作的布局计算都会失效....拆分耗时任务这个思想在 React 中的调度器 Scheduler里面展现的淋漓尽致,虽然 React 自己实现了一套调度逻辑(兼容性、稳定性和优先级等原因),不过不妨碍我们理解。...那为什么不用微任务模拟呢?因为如果你用微任务模拟的话,在代码执行完之后,所有的微任务就会继续全部执行,不能及时的让出主线程。

    18210

    每天10个前端小知识 【Day 16】

    :规定文本的书写方向 color:文本颜色 元素可见性 visibility 表格布局属性 caption-side:定位表格标题位置 border-collapse:合并表格边框 border-spacing...为什么要使用它们? 预处理器, 如:less,sass,stylus,用来预编译sass或者less,增加了css代码的复用性。...使用原因: 结构清晰, 便于扩展 可以很方便的屏蔽浏览器私有语法的差异 可以轻松实现多重继承 完美的兼容了CSS代码,可以应用到老项目中 8.硬件加速的原理是什么?...面试中可能会经常会碰到怎么解决动画卡顿的问题,然后会引导到硬件加速。那么究竟什么是硬件加速,为什么它可以提高咱们的动画效率?我们今天就来一探究竟。 首先,我们先从 CPU 和 GPU 开始了解。...在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本、样式计算、布局、绘制任务等,对其干扰导致线程可能出现阻塞,从而造成丢帧的情况 10.前端实现动画有哪些方式?

    16710

    猫头虎博主的技术解码:金三银四特辑——面试官问你为什么离职,HR都认可的离职原因,你学会了吗?

    猫头虎博主的技术解码:金三银四特辑——面试官问你为什么离职,HR都认可的离职原因,你学会了吗? 摘要 在本篇技术博文中,我们将深入探讨在面试过程中,如何巧妙回答“为什么离职”的问题。...正文 理论基础 离职原因的重要性 在面试中,离职原因能够直接影响HR对求职者的第一印象。一个合理且被广泛认可的离职理由,可以增加面试成功的机会。...A: “为了寻找更大的挑战和发展空间,我认为是时候寻求一个能够提供这些机会的新环境了。” Q: “你在前公司的成长经历?”...A: “我会从失败中寻找学习的机会,分析原因,并制定改进措施,避免同样的错误再次发生。” Q: “你为什么对我们公司感兴趣?” A: “我对贵公司的创新精神和行业领导地位感到非常钦佩。...参考资料 [面试技巧研究报告] [职场心理学] [技术面试指南] 表格总结 关键点 描述 离职原因 如何正面积极表达自己的离职原因 面试准备 包括技术栈复习、案例准备等 答题策略 如何回答技术和非技术问题

    20310
    领券