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

createAsyncThunk:调用终结点未触发.rejected时出错

createAsyncThunk是Redux Toolkit中的一个函数,用于创建异步的thunk action。Thunk action是Redux中的一种特殊的action,它可以返回一个函数而不仅仅是一个普通的对象,这个函数可以在内部进行异步操作。

在Redux中,thunk action通常用于处理异步逻辑,例如发送网络请求或者执行定时任务。createAsyncThunk函数可以帮助我们简化创建这种异步thunk action的过程。

调用createAsyncThunk函数时,我们需要传入一个字符串类型的action类型(action type),以及一个异步的回调函数。这个回调函数会在thunk action被dispatch时执行,它可以返回一个Promise对象,用于表示异步操作的结果。

当异步操作成功完成时,回调函数应该resolve一个包含异步操作结果的值。这个值会作为thunk action的payload被dispatch到Redux store中。如果异步操作失败,则应该reject一个包含错误信息的值。

当使用createAsyncThunk创建的thunk action被dispatch时,它会自动派发三种不同的action:pending(表示异步操作正在进行中)、fulfilled(表示异步操作成功完成)和rejected(表示异步操作失败)。

对于createAsyncThunk函数的调用,如果在调用终结点(endpoint)时出现错误,并且返回的Promise被reject,则会派发一个rejected的action。这个错误可以通过rejected action的payload属性进行访问。

在使用createAsyncThunk函数创建的thunk action时,我们可以通过extraReducers属性来定义对应的reducer函数,以处理不同类型的action。这样,当异步操作的状态发生变化时,我们可以更新Redux store中的相应数据。

总结一下,createAsyncThunk是Redux Toolkit中用于创建异步thunk action的函数。它简化了创建异步操作的过程,并提供了方便的方式来处理异步操作的状态变化。在使用createAsyncThunk创建的thunk action中,我们可以通过extraReducers属性来定义对应的reducer函数,以处理不同类型的action。

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云开发(CloudBase):https://cloud.tencent.com/product/tcb
  • 云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 元宇宙(Metaverse):https://cloud.tencent.com/product/metaspace
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

面试官问:来实现一个Promise

作为入参并在 promise 为 rejected 状态调用。...实际上,then 和 catch 方法有几个作用: •为 promise 对象收集 onfulfilled 和 onrejected 回调函数,在态后(resolve 和 reject 函数触发)进行回调的调用...此时 promise 对象进入态, rs=>{console.log(2)} 回调通过 then2 收集并触发执行。 并且,这些回调函数只会被调用一次。...此外,promise A 进入态才会使得 promise B 进入态,关键点在于 A 持有 B 的 resolve、reject,A 进入态后调用 B 的 resolve/reject,具体调用...此外还有就是关于异常的抛出问题,当 promise A 对象进入 rejected 状态,此时,如果 promise.then 提供 onrejected,则会抛出 error; 如果提供 onrejected

32520
  • 手写一个Promise Class版本及Promise的api使用方法

    Promise构造函数: Promise (excutor) {} excutor函数: 同步执行 (resolve, reject) => {} resolve函数: 内部定义成功我们调用的函数...函数在Promise构造函数返回所建promise实例对象前被调用) resolve 和 reject 函数被调用时,分别将promise的状态改为fulfilled(完成)或rejected(失败)...}); 返回值:当一个 Promise 完成(fulfilled)或者失败(rejected,返回函数将被异步调用(由当前的线程循环来调度完成)。具体的返回值依据以下规则返回。...返回一个未定状态(pending)的 Promise,那么 then 返回 Promise 的状态也是未定的,并且它的态与那个 Promise 的态相同;同时,它变为态时调用的回调函数参数与那个...Promise 变为的回调函数的参数是相同的。

    45030

    JS原生引用类型解析7-Promise类型

    第一个回调函数是Promise对象的状态变为resolved时调用,第二个回调函数是Promise对象的状态变为rejected调用。其中,第二个函数是可选的,不一定要提供。...如果then中的回调函数返回一个未定状态(pending)的Promise,那么then返回Promise的状态也是未定的,并且它的态与那个Promise的态相同;同时,它变为态时调用的回调函数参数与那个...Promise变为的回调函数的参数是相同的。...Promise 对象,这个新 Promise 只是简单地接受调用这个 then 的原 Promise 的态作为它的态。...用法示例: 一个典型的用法,在发出请求,页面的loading效果开启,然后不管返回的结果是完成(fulfilled)还是失败(rejected),都会执行onFinally将loading效果取消。

    1.3K10

    Promise 对象

    需要注意的是,在getJSON内部,resolve函数和reject函数调用时,都带有参数。 如果调用resolve函数和reject函数带有参数,那么它们的参数会被传递给回调函数。...又过了 2 秒,p1变为rejected,导致触发catch方法指定的回调函数。 注意,调用resolve或reject并不会终结 Promise 的参数函数的执行。..., error); }); 上面代码中,getJSON方法返回一个 Promise 对象,如果该对象状态变为resolved,则会调用then方法指定的回调函数;如果异步操作抛出错误,状态就会变为rejected...不过,Node 有一个unhandledRejection事件,专门监听捕获的reject错误,上面的脚本会触发这个事件的监听函数,可以在监听函数里面抛出错误。...fulfilled,对象有value属性,rejected时有reason属性,对应两种状态的返回值。 下面是返回值用法的例子。

    1.3K20

    前端基础进阶(十五):详解 Promise对象

    result = XHR.response; console.log(result); } } 在 ajax 的原生实现中,利用了onreadystatechange事件,当该事件触发并且符合一定条件...需要注意的是,在getJSON内部,resolve函数和reject函数调用时,都带有参数。 如果调用resolve函数和reject函数带有参数,那么它们的参数会被传递给回调函数。...又过了 2 秒,p1变为rejected,导致触发catch方法指定的回调函数。 注意,调用resolve或reject并不会终结 Promise 的参数函数的执行。...不过,Node.js 有一个unhandledRejection事件,专门监听捕获的reject错误,上面的脚本会触发这个事件的监听函数,可以在监听函数里面抛出错误。...如果所有三个操作都变成rejected,那么await命令就会抛出错误。

    39720

    Promise 对象一网打尽

    需要注意的是,在getJSON内部,resolve函数和reject函数调用时,都带有参数。 如果调用resolve函数和reject函数带有参数,那么它们的参数会被传递给回调函数。...又过了 2 秒,p1变为rejected,导致触发catch方法指定的回调函数。 注意,调用resolve或reject并不会终结 Promise 的参数函数的执行。...不过,Node.js 有一个unhandledRejection事件,专门监听捕获的reject错误,上面的脚本会触发这个事件的监听函数,可以在监听函数里面抛出错误。...注意,如果作为参数的 Promise 实例,自己定义了catch方法,那么它一旦被rejected,并不会触发Promise.all()的catch方法。...// 异步操作成功 {status: ‘fulfilled’, value: value} // 异步操作失败 {status: ‘rejected’, reason: reason} 成员对象的

    92810

    前端基础进阶(十五):详解 Promise对象

    result = XHR.response; console.log(result); } } 在 ajax 的原生实现中,利用了onreadystatechange事件,当该事件触发并且符合一定条件...需要注意的是,在getJSON内部,resolve函数和reject函数调用时,都带有参数。 如果调用resolve函数和reject函数带有参数,那么它们的参数会被传递给回调函数。...又过了 2 秒,p1变为rejected,导致触发catch方法指定的回调函数。 注意,调用resolve或reject并不会终结 Promise 的参数函数的执行。...不过,Node.js 有一个unhandledRejection事件,专门监听捕获的reject错误,上面的脚本会触发这个事件的监听函数,可以在监听函数里面抛出错误。...如果所有三个操作都变成rejected,那么await命令就会抛出错误。

    1.1K20

    JavaScript中的Promise

    当Promise状态为fulfilled调用 then 的 onfulfilled 方法,当Promise状态为rejected调用 then 的 onrejected 方法, 所以在异步操作的完成和绑定处理方法之间不存在竞争...如果Promise 对象状态变为resolved,则会调用then方法指定的回调函数;如果异步操作抛出错误,状态就会变为rejected,就会调用catch方法指定的回调函数,处理这个错误。...另外,then方法指定的回调函数,如果运行中抛出错误,也会被catch方法捕获。...testPromise() 方法在每次点击 按钮调用,该方法会创建一个promise 对象,使用 window.setTimeout() 让Promise等待 1-3 秒不等的时间来填充数据(通过...then // catch() 只有当 promise 失败才会调用 p1.then( // 记录填充值

    1.1K20

    异步编程解决方案 Promise

    可以将 then 方法返回的 promise 实例改为 fulfilled 状态 在 then 方法中,如果代码出错(错误异常),会将返回的 promise 实例状态改为 rejected // 如果...t 实例的状态改为 rejected console.log(a); }, reason => { console.log('失败时调用', reason) }); t.then(res => { //...当 promise 实例状态改为 rejected 2. promise 构造函数的参数方法体中有错误发生(其实也是状态变为 rejected ) const p = new Promise((resolve..., reject) => { // 下面两种错误都会触发 catch 方法 // reject('有错误') // throw new Error('出错了') }); p.catch(res => {...console.log('res', res) }) catch 方法 和 then 方法的第二个参数都能捕捉到 promise 实例状态改为 rejected 的情况,那么平时推荐怎么用 ?

    36030

    ES6入门之Promise对象

    2、第二个回调函数在Promise对象的状态变为『rejected』时调用。...它的作用是为 Promise 实例添加状态改变的回调函数。then 的第一个参数是 resolved状态的回调函数,第二个参数是 rejected状态的回调函数。...then 方法指定的回调函数 success,如果异步操作抛出错误,状态就会变为 rejected,就会调用 catch 方法指定的回调函数处理这个错误。...如果 then 方法指定的回调函数,在运行中抛出错误,也会被catch 方法捕获。 另外reject方法的作用等同于抛出错误 如果 Promise状态已经变成 resolved,再抛出错误是无效的。...注意,如果作为参数的 Promise 实例,自己定义了catch方法,那么它一旦被rejected,并不会触发Promise.all()的catch方法。而是触发自己定义的catch方法。 7.

    54510

    JS魔法堂:mmDeferred源码剖析

    {undefined} resolve(...[*]) ,用于触发fulfill回调——也就是触发调用当前Deferred实例的resolvefn函数的请求,仅能调用一次。....[*]) ,用于触发reject回调——也就是触发调用当前Deferred实例的rejectfn函数的请求,仅能调用一次。....[*]) ,用于触发notify回调——也就是触发调用当前Deferred实例的notifyfn函数的请求,能调用多次。 {Promise} Deferred.all(......[Promise]) ,要求传入多个Promise对象,当它们都正常触发,就执行它的resolve回调。相当于jQuery的when方法,但all更标准,是社区公认的函数。...,而是当实例已经被添加了回调函数同步执行回调函数,当添加回调函数则发起异步调用,让当前执行的代码块有机会向实例添加回调函数;   3.

    1.1K60

    SAP数据更新的触发

    进程.一个程序运行时,GUI与Dialog进行需要多次通信,每次通信使用的Dialog进程不一定相同,在Dialog进程将控制权转给前台的GUI,由于Dialog进程同数据库进程绑定,会触发一个隐式数据库提交...(COMMIT WORK),如果在Dialog进程发生A类型错误,则触发隐式的数据库回滚(Rollback) SAP LUW SAP LUW是DB LUW的一个增强,受体系结构限制,SAP程序每次屏幕切换...在程序调用 Update Module进行更新时分为本地和非本地 非本地方式: 注册的更新函数记录在VBMOD 和VBMOD表中,COMMIT WORK 更新操作在UPDATE进程中执行,此时调用程序不等待被调用函数的返回...All other lock requests are rejected....SAP Lock可以保证数据的一致性 其他 select for update 是在DB层次上加的锁 参考 SM66查看活动进程,如果有V1和V2更新,可以看到UPD和UP2进程 SM13查看出错执行完的

    63230

    【SAP技巧】SAP数据更新的触发

    进程同数据库进程绑定,会触发一个隐式数据库提交(COMMIT WORK),如果在Dialog进程发生A类型错误,则触发隐式的数据库回滚(Rollback) SAP LUW SAP LUW是DB LUW的一个增强...,受体系结构限制,SAP程序每次屏幕切换(控制权从后台DIALOG进程转移到前台GUI的Session),都会触发一个隐式的数据库提交,一个程序在运行是会产生多个DB 的LUW,这样无法做到全部提交或全部回滚...在程序调用 Update Module进行更新时分为本地和非本地 非本地方式: 注册的更新函数记录在VBMOD 和VBMOD表中,COMMIT WORK 更新操作在UPDATE进程中执行,此时调用程序不等待被调用函数的返回...All other lock requests are rejected....同时合理使用SAP Lock可以保证数据的一致性 其他 select for update 是在DB层次上加的锁 参考 SM66查看活动进程,如果有V1和V2更新,可以看到UPD和UP2进程 SM13查看出错执行完的

    1.3K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券