Typescript Promise 拒绝类型

2024-06-23

如何设置拒绝承诺的类型?假设我这样做:

const start = (): Promise<string> => {
   return new Promise((resolve, reject) => {
      if (someCondition) {
         resolve('correct!');
      } else {
         reject(-1);
      }
   });
}

假设我想用一个号码拒绝。但我无法设置类型;我可以将任何我想要的东西传递给reject here.

此外,当使用这个承诺时,如果我错误地使用拒绝响应类型,我希望出现编译错误。


正如中所解释的这个问题 https://github.com/Microsoft/TypeScript/issues/7588#issuecomment-199079907, Promise对于已履行和已拒绝的承诺没有不同的类型。reject accepts any争论 https://github.com/Microsoft/TypeScript/blob/v2.8.3/src/lib/es2015.promise.d.ts#L175-L187这不会影响承诺的类型。

现在Promise无法更好地打字。这是因为承诺可以被拒绝throw里面then or catch(这是拒绝现有承诺的更好方法),并且这不能通过打字系统处理;还,TypeScript 也没有特定于异常的类型,除了never https://stackoverflow.com/a/49435648/3731501.

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

Typescript Promise 拒绝类型 的相关文章

  • 用玩笑模拟高阶组件

    我想确保 HOC 组件被开玩笑地调用 但我似乎无法理解jest mock上班 我的 HOC 是这样的 const withEntity args gt const wrappedComponent WrappedComponent gt c
  • 如何捕获jquery中的任何点击事件[重复]

    这个问题在这里已经有答案了 我有一个按钮 当单击它时 会显示一个带有图像的 div 例如聊天的表情符号面板 如果我再次单击它 div 会隐藏 但我想要做的是 如果 div 已经显示 然后我单击页面的任何其他内容 我想隐藏它 我试过这个 my
  • Bootstrap 页脚不在底部

    我试图强制我的页脚位于网站底部 我不希望它在滚动时粘住 只是在向下滚动网页时出现在底部 目前 网页显示时页脚位于内容下方 我添加了这样的代码bottom 0 并发现它粘住了并且不适合我的网站 我还添加了这样的代码html body heig
  • 禁用拉斐尔论文上的浏览器上下文菜单

    我有一篇拉斐尔论文定义为R1 Raphael 0 0 800 600 我想在本文中禁用上下文菜单 以便我可以捕获鼠标右键单击事件 我没有这样的Raphael someDiv 800 600 禁用 div 的 oncontextmenu 属性
  • 将jQueryUI datepicker附加到div(显示位置错误)

    我在输入上使用 jQueryUI datepicker 默认情况下 jQueryUI 会附加 ui datepicker div to the body该文件的 有问题的输入位于屏幕上的 弹出 div 中 这意味着该 div 之外的任何点击
  • Angular 4 - 具有动态参数值的自定义验证器

    我编写了一个自定义验证器 用于检查日期是否高于某个最小日期 代码如下所示 export function validateMinDate min Date ValidatorFn return c AbstractControl gt if
  • jQuery onclick 隐藏其父元素[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想隐藏 li tag on a 使
  • 重复 Pinterest Facebook 邀请功能

    I m trying to duplicate Pinterest s Invite Friends functionality In case you haven t seen what it looks like it looks li
  • 将“http://”添加到尚未包含“http://”的 URL 前面

    我有一个input保存 URL 的字段 我希望这个保存的输入能够识别变量开头不存在 Http 但不知道从哪里开始 是否可以仅检查字符串的一部分 然后有一个在必要时追加的函数 如果您还想允许 https 我会使用如下正则表达式 if http
  • 如何更改 nx 应用程序的 ts 路径别名

    我正在将现有应用程序导入 NX monorepo 其文件结构与默认应用程序略有不同 它看起来像这样 apps my app src feature 1 feature 2 main components my component tsx i
  • LightningChart JS - LineSeries / Progressive X 的损坏

    我在使用 LightningChart 时遇到了一个有趣的问题 它似乎会破坏或以其他方式减少我的数据 具体取决于它与图表的 DateOrigin 的距离 我的数据是每秒 1000 个样本 我试图一次显示 1 2 周的数据 我正在使用 Cha
  • 在 ReactJS 中更改 URL onClick

    在我的项目中我有一个TabComponent它显示 3 个选项卡 首页 热门 全部 现在 我正在使用context反应维持 activetab它存储当前选项卡 toggleTab改变的方法activetab using setState 选
  • 提交外部有 INPUT 的表单,并修改值后

    我有一个form 有几个
  • Swiper 8 和笑话

    Swiper 8和Jest 支持ESM 必须使用import来加载ES模块在此输入图像描述 https i stack imgur com e3bB4 png 在此输入图像描述 https i stack imgur com nUmhq p
  • 过滤数据表中的行

    我目前的 JQuery 插件 DataTables 工作正常 并且我在页面顶部插入了一个按钮来进一步过滤列表 我还使用了 DataTables 内置的搜索栏 我希望按钮向下过滤表格 并只显示包含特定值的行 下面是我一直在做的事情 但似乎没有
  • JavaScript 模板文字稍后替换变量(在知道值之前)

    是否可以在已知值之前以某种方式使用模板文字 JS 模板文字的每个演示都如下所示 var name John var s Hello name 但在现实世界中 模板是在我们知道变量值之前定义的 某处定义了模板 在页面加载时 var s Hel
  • 将json数据从servlet传递到jsp到js文件

    我得到了这个创建 JSON 数据的 servlet 我想将此数据传递到一个 jsp 页面 该页面应该通过 InfoVis 工具包显示数据 servlet java JSONObject json new JSONObject JSONArr
  • 如何使用 JQuery 创建新的 img 标签,并使用 JavaScript 对象中的 src 和 id?

    我从基本意义上了解 JQuery 但对它绝对是新手 并且怀疑这很容易 我在 JSON 响应中获得了图像 src 和 id 转换为对象 因此在 responseObject imgurl 和 responseObject imgid 中获得了
  • 在用户单击之前图像不会绘制在画布上?

    我使用执行类似以下操作的函数绘制几张图像 context drawImage img width 2 1 height 2 1 width height 我读过 我需要等待图像加载后才能绘制它 如下所示 img onload functio
  • 如何将国家/地区代码与电话号码分开?

    我的数据库中有很多电话号码 例如 1 123 456 7890 我要做的是将国家 地区拨号代码 在本例中为美国 加拿大的 1 与电话号码分开 我尝试创建所有国家 地区的 JSON 列表 并在加载页面时将电话号码和国家 地区代码分开 它工作正

随机推荐

  • 如何将 Maven 安装到 Red Hat Enterprise Linux 6 中?

    我正在开发一个 Scientific Linux 盒子 并尝试使用以下命令安装 Mavenyum命令 对于那些不知道的人来说 Scientific Linux 是基于 Red Hat Linux Enterprise Edition 6 的
  • 使用 q.js 链接 Promise

    我试图了解承诺链是如何工作的 我在用着q js https github com kriskowal q 这就是我正在玩的东西 var Q require q npm install q the function Q value retur
  • 在调用 clFinish 或 clWaitForEvents 之前,OpenCL 内核不会开始执行

    我正在尝试在 GPU 上运行内核并在主机 CPU 上进行额外的计算 我看到这样的效果 只有内核需要大约 2000 毫秒 clEnqueueNDRangeKernel clFinish 或 clWaitForEvents 我都尝试过 我用 s
  • 在可在 Blackberry 设备和 Windows Mobile 6.5 上运行的网页上嵌入视频

    我正在尝试在一个网站上嵌入一个视频 该视频将在黑莓和 Windows Mobile 6 5 设备上播放 目前正在黑莓 curve 和 acer betouch 上进行测试 但似乎没有任何进展 黑莓Flash 不起作用 HTML5 视频也不起
  • C# 私有成员可见性

    我们的商业模式中有一个学生课程 令我感到奇怪的是 如果我们从另一个学生操纵一个学生 则学生的私人成员是可见的 这是为什么 class Program static void Main string args Student s1 new S
  • 从性能角度来说,是每次调用给定数组的长度更好,还是将长度存储在变量中并每次调用该变量更好?

    我经常调用给定数组的长度 我想知道是否最好继续调用它多次 目前超过 50 次 但它一直在增长 还是将长度存储在整数中并使用每次都是那个整数 如果我不清楚我所说的内容 请考虑以下几点 我有一个字符串数组 String str new Stri
  • 为什么返回 *this 会导致无限循环?

    class binaryOperators public int i binaryOperators int tempI 0 i tempI binaryOperators operator const binaryOperators ri
  • python - 分割字符串而不删除分隔符

    我试图在不删除分隔符的情况下拆分字符串 但这样做遇到了麻烦 我要分割的字符串是 9 4 3 2 我想结束 9 4 3 2 但我尝试过的一切都没有奏效 我正在通过这个 stackoverflow 帖子寻找答案以及谷歌 Python split
  • “word-wrap”css 属性中的“anywhere”是什么意思?

    我刚刚注意到在 Firefox 中 我认为在 Chrome 中也是一样 属性 word wrap 有一个名为 anywhere 的新属性值 它有什么作用 我记得使用正常 默认 或断词 对于大多数用途 但 任何地方 是什么意思 它与 破词 有
  • 如何在 Guice 中进行需要注入实例的动态绑定?

    我想创建一个将实例动态绑定到命名注释的模块 用例是我想自动将配置中的值与属性文件中的键绑定为 Named 值 但是 配置绑定在不同的模块中 因此我需要注入配置 我看过的解决方案是 绑定在configure 方法中 此方法未注入 我无法获取基
  • 触发 OnPropertyChanged 的​​更好方法

    我们有一个遵循 MVVM 模式的 WPF 项目 在视图模型中有很多代码 如下所示 private string m Fieldname public string Fieldname get return m Fieldname set m
  • Swift 中的动态类转换

    我正在尝试动态转换为 Swift 中的类 这可能吗 这是我尝试使用的代码 let stringClass AnyClass NSString self let anyObject AnyObject foo let string anyOb
  • 使用 Pandas 模拟 Excel AverageIF

    我正在尝试在 Pandas 中模拟日期范围内的 Excel 的 AVERAGEIFs 函数 但到目前为止尚未成功 我知道我需要使用 apply 和 groupby 但显然我的语法不正确 因为我收到此错误 TypeError can only
  • 当 git 说它正在“解决增量”时,它在做什么?

    在存储库的第一次克隆期间 git 首先接收对象 然后花费大约相同的时间 解析增量 在克隆的这个阶段实际上发生了什么 的阶段git clone are 接收存储库数据库中所有对象的 pack 文件 为收到的包创建索引文件 查看头部修订版 显然
  • 使用 Linq C# 检查 XML 节点是否具有属性?

    如何检查节点是否确实具有特定属性 我有一个包含几个节点的 XML 文件 如下所示
  • 在 PHP 中解析 CFML 标签

    背景 我一直在跑步a site http www gastronomicfightclub com 过去 5 年一直在博客平台上 我选择在自己的服务器上托管该网站 并通过 FTP 发布 我的服务器正在运行 ColdFusion 因此我决定利
  • 使用 python requests 模块登录网站

    我正在尝试使用 python 请求模块登录网页 我在使用 chrome 提交登录表单并重新检查该表单的代码时捕获了发布请求 下面的代码片段中提到了网站以及参数 根据某人的帖子 我能够创建一个尝试登录和访问受保护内容的 python 代码片段
  • Selenium 看不到 AngularJS 页面元素

    我在编写 Selenium 测试来检查我的应用程序时遇到问题 我想测试的是 当用户输入正确的登录名 密码时 会显示正确的页面并且用户已登录 主要问题是我的登录表单是作为 AngularJS 指令生成的 我有两个不同的登录页面 并且该指令在两
  • 使用间接的动态 Vlookup

    我在使用间接函数时遇到问题 这就是我正在寻找的内容 我正在尝试根据当前选项卡创建动态 vlookup VLOOKUP B3 NH BBC E 1 Z 188 MATCH Share Outstanding NH BBC E 1 Z 1 0
  • Typescript Promise 拒绝类型

    如何设置拒绝承诺的类型 假设我这样做 const start Promise