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

来自删除api的ngrx - 500错误不会触发失败操作

在使用ngrx进行状态管理时,如果你遇到了来自删除API的500错误不会触发失败操作的问题,这通常意味着你的ngrx effects或者action处理逻辑中存在一些问题。下面我将详细解释这个问题涉及的基础概念,以及如何解决。

基础概念

ngrx 是一个用于Angular应用程序的状态管理库,它使用RxJS来处理异步流。ngrx的核心概念包括actions、reducers、effects和selectors。

  • Actions:表示应用程序中的事件,通常是用户交互的结果。
  • Reducers:纯函数,根据actions来更新状态。
  • Effects:处理副作用,比如API调用。
  • Selectors:从状态中提取数据,以便在组件中使用。

问题原因

500错误通常表示服务器端发生了错误。在ngrx中,如果你没有正确处理这种错误,那么它可能不会触发失败操作。

解决方法

  1. 确保Effects正确处理错误: 在ngrx effects中,你需要使用catchError操作符来捕获错误,并分发一个失败的action。
  2. 确保Effects正确处理错误: 在ngrx effects中,你需要使用catchError操作符来捕获错误,并分发一个失败的action。
  3. 确保Actions正确分发: 确保你在组件或其他地方正确分发了删除操作的action。
  4. 确保Actions正确分发: 确保你在组件或其他地方正确分发了删除操作的action。
  5. 确保Reducers正确处理失败的action: 在reducers中,你需要添加逻辑来处理失败的action,并更新状态。
  6. 确保Reducers正确处理失败的action: 在reducers中,你需要添加逻辑来处理失败的action,并更新状态。

应用场景

这种错误处理机制适用于任何需要与后端API交互并处理可能发生的错误的场景。例如,删除用户、移除项目、取消订单等。

参考链接

通过上述方法,你应该能够正确处理来自删除API的500错误,并触发相应的失败操作。如果问题仍然存在,请检查服务器端的日志以获取更多关于错误的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 接入 NGRX 状态管理

注:图片来自ngrx.io/guide/store NGRX 是 Angular 实现响应式状态管理应用框架。...Action,在 5 秒之后执行删除 User Action,用来模拟 User 数据状态变化,并将 User 绑定到页面用来观察,最后切换不用 Selector 体验它作用。...Actions: 这里 UpdateUser 同样是 emptyProps,仅作为触发使用,更新用户数据在接下来副作用编写中会体现: import { createActionGroup, emptyProps...: 接入实体代码在 todo.reducer.ts 文件中体现,下面是接入实体核心部分,更多适配器操作可以看文件中默认生成模板代码: // 1....Todo 进行添加、更新、删除、批量添加、批量更新、批量删除、清空等操作,还可以通过其内置 Selector 方便获取 Todos 数据,数据长度等等信息,可以简化一大部分开发时间。

22510

一个Angular 5教程:一步一步指导实现你第一个Angular 5应用程序

State是一个单一,不可变数据结构 - 至少Ngrx为我们实现它方式。Ngrx是由Redux提供灵感“RxJS支持Angular应用程序状态管理库”。 Ngrx灵感来自Redux。...我们可以使用诸如ngrx-store-localstorage之类东西来存储我们数据到浏览器localStore,但是如何使用API​​呢?...因此,“对结果评估不会导致任何语义上可观察到副作用或输出,例如可变对象突变或输出到I / O设备”......我们能做什么?答案在这个定义中是正确Ngrx对救援副作用。...你可以使用ofType来创建一个会在多种动作类型上触发效果。但就目前而言,我们在三项行动中只需要两项。对于该Load操作,我们正在将每个操作转换为getCardList方法调用结果新可观察对象。...我们还需要case cards.ADD:从我们减速器中删除分支。让我们尝试一下: ? 出于某种原因,我们在卡片添加操作中获取重复数据。让我们试图找出原因。

42.6K10
  • 写在 2021: 值得关注学习前端框架和工具库

    对于我认为较为主流不会包含(如Vue与React框架本身这种~)。...Hasura[53],功能比较全一款,支持PostgreSQL和MSSQL,除了上面提到以外还提供鉴权与触发器(类似Serverless中触发器),以及把外部已经独立部署GraphQL API也纳入管控...,但有一定学习成本,比如海量操作符与操作符组合,想要熟练搭配出适合当前场景操作符组合需要一定使用经验,我也还在入门阶段。...秉承了Angular思想,提供了一整套集成:和Angular Router集成:@ngrx/router-store;对于集合类型适配:@ngrx/entity;副作用管理:@ngrx/effects...LowDB[100],demo中常用JSON数据库,亮点在使用LodashAPI操作数据库。

    4.2K10

    一文掌握Serverless中异常处理

    1  Lambda 错误类型 深入研究错误处理策略之前,先了解 AWS Lambda 中可能发生错误类型。 1.1 调用错误 当 Lambda 函数被触发但无法正确执行时发生。...可能是由于诸如不正确函数输入或权限不足等问题。 如通过 API Gateway 端点触发 Lambda 函数,但输入有效负载与预期格式不匹配。...场景 假设有一个处理来自 SQS 队列消息 Lambda 函数。由于各种原因如意外数据格式、处理逻辑中错误或外部依赖项间歇性问题,一些消息始终无法被 Lambda 函数成功处理。...场景 API 消费者在收到缺乏细节通用错误响应时面临挑战,使得他们难以诊断解决问题。...这可能涉及到请求 ID、时间戳或与失败操作相关特定标识符 3 高级错误处理策略 3.1 使用 AWS CloudWatch 结构化日志记录 通过引入结构化日志记录增强你错误调试过程。

    13810

    写在2021: 值得关注学习前端框架和工具库

    对于我认为较为主流不会包含(如Vue与React框架本身这种~)。...Client Apollo-Client,来自ApolloGraphQL作品,只有React版本是官方团队在维护,Vue版本被挪到Vue团队了(VueUI有一部分就是基于Apollo-Client-Vue...Hasura,功能比较全一款,支持PostgreSQL和MSSQL,除了上面提到以外还提供鉴权与触发器(类似Serverless中触发器),以及把外部已经独立部署GraphQL API也纳入管控...秉承了Angular思想,提供了一整套集成:和Angular Router集成:@ngrx/router-store;对于集合类型适配:@ngrx/entity;副作用管理:@ngrx/effects...LowDB,demo中常用JSON数据库,亮点在使用LodashAPI操作数据库。

    2.8K10

    【React】1935- 来看看 SWR 如何用 React Hook 实现优雅请求

    第二个参数是一个异步请求方法,它参数就是 hook 接收到第一个参数,返回值为请求到数据 这个 hook 返回值也有两个,data 为 fetcher 中获取到数据,error 则为请求失败错误...如果我们在表格数据加载完成后,我们操作一下表格中数据,例如删掉其中一条,此时在发送删除请求成功后,我们一般会重新请求一下表格数据,那么此时 又会出现一次加载动画或者骨架屏。...直到新请求拿到后再渲染新数据。这样用户体验就没那么好。 但如果我们使用 SWR 的话,删除不会进入加载状态,而是在重新请求表格数据后将表格渲染新数据。...该算法允许应用从错误中快速恢复,而不会浪费资源频繁地重试。错误重试功能默认是开启,当然你也可以手动关闭。 如果你不满足于 SWR 使用指数退避算法,而是想要自己来控制请求重试,那也非常简单。...useSWR 与页面中 useSWR 几乎同时触发,在一定时间内重复请求会被 SWR 删除,因此只会发送一个请求。

    81310

    探索RESTful API开发,构建可扩展Web服务

    如果插入操作成功,我们返回201 Created响应代码,表示资源已成功创建。如果插入操作失败,我们返回500 Internal Server Error响应代码。...如果更新操作成功,我们返回成功响应。如果更新操作失败,我们返回500 Internal Server Error响应代码。...$success) { // 如果删除失败,则返回错误响应 http_response_code(500); echo json_encode(array('error...然后,我们从请求中获取要删除资源ID,并确保资源ID已提供。接下来,我们连接到数据库,并准备执行删除操作SQL语句。我们使用PDO来执行删除操作,以防止SQL注入攻击。...如果删除操作成功,我们返回成功响应。如果删除操作失败,我们返回500 Internal Server Error响应代码。

    24900

    Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)

    API,远程系统可以使用该API进行以下操作: –发布事件以通知您Salesforce组织 –查询组织中数据 –创建、更新和删除数据 –获取组织元数据 –运行实用程序以执行管理任务 •同步API...发出API调用后,远程客户端应用程序将等待,直到收到来自服务响应。...–获取组织元数据 –运行实用程序以执行管理任务 •同步API发出API调用后,远程客户端应用程序将等待,直到收到来自服务响应。...API尊重Salesforce中基于登录用户配置文件配置对象级和字段级安全性。 •事务/提交行为默认情况下,每个记录都被视为一个单独事务并分别提交。一个记录更改失败不会导致其他记录更改回滚。...在发生错误或超时情况下,远程系统必须管理多个(重复)调用,以避免重复插入和冗余更新(尤其是在触发下游触发器和工作流规则时)。

    2.8K20

    测试需求平台9:数据持久化与PyMySQL使用

    Mysql数据库,但不会过多讲解SQL内容,只会重点讲解后端服务中Python对于数据库操作相关知识点。...发生错误时回滚 db.rollback() 关于错误 DB API中定义了一些数据库操作错误及异常(以下引用菜鸟教程),严谨编程需要对不同错误进行响应处理。...InterfaceError 当有数据库接口模块本身错误(而不是数据库错误)发生时触发。必须是Error子类。 DatabaseError 和数据库有关错误发生时触发。...必须是Error子类。 DataError 当有数据处理时错误发生时触发,例如:除零错误,数据超范围等等。必须是DatabaseError子类。...OperationalError 指非用户控制,而是操作数据库时发生错误。例如:连接意外断开、 数据库名未找到、事务处理失败、内存分配错误等等操作数据库发生错误

    18830

    基本操作

    支持自动生成文档ID和指定文档id 通过调用POST my_index/_doc 系统会自动生成id 通过调用PUT my_index/_create/1 URI中显示指定_create,如果id重复则操作失败...Updata 方法不会删除原来文档,而是实现真正数据更新 Post 方法 /Payload 需要包含在"doc"中 image (5).png image (6).png Bulk API 支持在一次...API调用中,对不同索引进行操作 支持4种类型操作 index create update delete 可以再URI中指定index,也可以在请求pylload中进行 操作中单条操作失败,并不会影响其他操作...(9).png 常见错误返回 无法连接 :网络故障,或者集群挂了 连接无法关闭: 网络故障或节点出错 429:集群过于繁忙 4xx:请求体格式错误 500:集群内部错误 Analysis分词器 analysis...使用_analyzer api 直接指定anlyer进行测试 指定索引字段进行测试 自定义分词器进行测试

    48340

    Python快速学习第九天--安装并操作Mysql数据库

    db.rollback() # 关闭数据库连接 db.close() 删除操作 删除操作用于删除数据表中数据,以下实例演示了删除数据表 EMPLOYEE 中 AGE 大于 20 所有数据...错误处理 DB API中定义了一些数据库操作错误及异常,下表列出了这些错误和异常: 异常 描述 Warning 当有严重警告时触发,例如插入数据是被截断等等。...InterfaceError 当有数据库接口模块本身错误(而不是数据库错误)发生时触发。 必须是Error子类。 DatabaseError 和数据库有关错误发生时触发。...必须是Error子类。 DataError 当有数据处理时错误发生时触发,例如:除零错误,数据超范围等等。 必须是DatabaseError子类。...OperationalError 指非用户控制,而是操作数据库时发生错误。例如:连接意外断开、 数据库名未找到、事务处理失败、内存分配错误等等操作数据库是发生错误

    1.3K80

    html5 离线存储 地理信息与本地存储

    失败编号 :code       0 : 不包括其他错误编号中错误       1 : 用户拒绝浏览器获取位置信息       2 : 尝试获取用户信息,但失败了...( 5M )     客户端完成,不会请求服务器处理       sessionStorage数据是不共享、 localStorage共享   Storage API     setItem...():       设置数据,key\value类型,类型都是字符串可以用获取属性形式操作     getItem():       获取数据,通过key来获取到相应value     ...removeItem():       删除数据,通过key来删除相应value     clear():       删除全部存储值   存储事件:     当数据有修改或删除情况下...,就会触发storage事件     在对数据进行改变窗口对象上是不会触发       Key : 修改或删除key值,如果调用clear(),key为null       newValue

    1.8K90

    【译】我是如何学习任意前端框架

    现在,所有框架都提供API来管理你状态(例如Angular有一个Service,React现在有Context API)以及当你数据规模变大之后,你可以考虑使用像redux这样库。...创建项目 image.png 为了理解事物某些方面,你需要很好地了解它,这些知识(获取)不是仅仅来自阅读书籍或者观看视频课程。...1.查找 & 显示 (模仿) 常用首个应用是使用其公共API来模仿任何已知站点,尝试构建一个带下拉列表搜索栏,来保存来自端点API结果,检查其返回数据,然后再显示它,就像有张图像一样(显示)或不显示...项目实例: 书签应用 To-Do App 你将学到: 验证用户表单输入,如果用户输入错误就提示错误信息 如何创建put、delete、post和getHTTP请求 将你应用程序和任意后端框架集成...你将学到: 学习如何使用管理状态解决方案,如redux for react, ngrx for angular 2+ 或 vuex for vuejs以及如何将其与客户端应用程序集成 使你应用更灵活

    3.6K10

    给2019前端开发你5个进阶建议~

    庆幸是除了 React 社区,Vue 社区有类似的 Vuex,Angular 社区有 NgRx 也提供了几乎同样能力,甚至 NgRx 还可以无缝使用 redux-devtools 来调试状态变化。...对于 Fetch 返回数据我们定义了 AsyncTuple 这种类型,减少了样板代码 明确组织结构,第1层是 ROOT,第2层是各个页面,第3层是页面内的卡片,第4层是卡片数据,这样划分最深处基本不会超过...Pont 实现原理: Pont(法语:桥) 是我们研发前端取数层框架。对接后端 API 使用 Java Swagger,Swagger 能提供所有 API 元信息,包括请求和响应类型格式。...Pont 解析 API 元信息生成 TS 取数函数,这些取数函数类型完美,并挂载到 API 模块下。最终代码中取数效果是这样: ?...通过 CR 让项目中任何一行代码都至少被两人触达过,减少了绝大多数低级错误,提升了代码质量,这也是帮助新人成长最快方式之一。 ?

    1K10

    react-redux 开发实践与学习分享

    在各大框架中均可使用,当然各个框架也有自己再度封装状态管理库,如angularngrx,vuevuex,而本文主要介绍是reactreact-redux。 示例介绍 ?...因为在主页面只会取值,而不会设置值,因此connect只需要这一个函数足够。 ownProps这里还可以穿第二个参数,第二个参数特指当前组件props,可以用来做信息对比。本例没有用到。...具体到本例中,触发redux行为操作在注册页面,因此注册页面添加如下代码: const mapDispatchToProps = (dispatch) => { return bindActionCreators...,就会触发redux中showTip操作,这个操作是提前定义好。...至此,就完成了react-redux对于父子组件通信,由子组件向上推送信息至父组件,触发相关操作

    89930

    RocketMQ消息发送常见错误与解决方案

    ,并增加快速失败最大等待时长。...版本中,快速失败导致错误为SYSTEM_BUSY,并不会触发重试,适当增大该值,尽可能避免触发该机制,详情可以参考本文第3部分内容,会重点介绍system_busy、broker_busy。...发送API超时时间,而是需要对其API进行包装,重试需要在外层收到进行,例如示例代码如下: public static SendResult send(DefaultMQProducer producer...根据上述5类错误日志,其触发原有可以归纳为如下3种。...3.3 TIMEOUT_CLEAN_QUEUE 解决方案 由于如果出现TIMEOUT_CLEAN_QUEUE错误,客户端暂时不会对其进行重试,故现阶段建议是适当增加快速失败判断标准,即在broker

    5.9K21

    如何修复WordPress更新失败发布失败错误,您可能已掉线

    如果REST API被阻止,那么您将无法添加,删除或更新您帖子。   ...要检查REST API是否被阻止或正常工作,您可以按照以下步骤操作: 登录到您WordPress仪表板 转到工具>>站点健康   如果您在网站看到上述错误,则表明REST API无法正常工作。...现在,则需要一个接一个地触发WordPress插件,看WordPress发布失败错误是否存在,找到导致问题插件后,可替换该插件。   如果错误依然存在,则继续下一步。...4、打开调试模式   为WordPress网站启用和查看调试日志,虽然不会在REST API中记录错误,但可以帮助您查看是否存在其他可能导致“WordPress更新失败/发布失败错误,您可能已掉线”问题...要安装经典编辑器,请按照以下步骤操作– 转到您WordPress仪表板 单击插件–>安装插件 搜索经典编辑器,安装启用即可 总结   以上是如何修复WordPress更新失败/发布失败错误,您可能已掉线方法

    6.9K20

    SCF 常见问题 QA

    常见问题具体案例 Typescript 项目部署成功,但是所有请求都报 500 错误 原因:云函数 JS 依赖环境仅能正常运行 JS 代码,需要提前将 TS 代码转译成 JS 代码后部署。...云函数写操作报 “read-only file system” 错误日志 可能原因:为了安全考虑,运行环境内除/tmp目录下可写(可写 512M),其他均限制为只读,参考 函数运行限制。...通过云 API 接口调用云函数时间太长如何解决? 解决办法: 如果函数本身运行时间较长,建议使用异步调用(默认为同步调用),异步调用参数指定参考:运行函数。...云函数操作 CFS 文件,报错:Permission denied: '/xxx' 可能原因:云函数默认普通用户来读写 CFS 文件目录, 被操作已有目录可能是用户与用户组都是root 创建,导致云函数这边没有权限操作相关目录...通过别名apigw(触发器) 调用函数不显示调用记录 可能原因:流量绑定在版本下,没有在别名下,需要把流量设置在别名下,别名、版本绑定两个触发器都可以使用。

    1.4K53

    最新 Restful API 风格 ResponseEntity 用法大全

    ,通过Body中开发者自定义Code给API设置状态 最新 Restful API 风格 ResponseEntity 用法大全 用法一: //1....; } return RespBean.error("删除失败!"); } HTTP状态码大全 当浏览者访问一个网页时,浏览者浏览器会向网页所在服务器发出请求。...下面是常见HTTP状态码: 200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求资源(网页等)不存在 500 - 内部服务器错误...HTTP状态码共分为5种类型: HTTP状态码分类 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步操作以完成请求...Expect请求头信息 500 Internal Server Error 服务器内部错误,无法完成请求 501 Not Implemented 服务器不支持请求功能,无法完成请求 502 Bad

    38410
    领券