采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
fulfilled,pending,rejected这三个状态是谁怎样决定的呢? 如果http返回400,404或者其他状态码,那是fulfilled还是rejected?
要理解fulfilled,pending,rejected这三个状态,首先要理解Promise。
实际上,fulfilled,pending,rejected这三个状态并不来自react-thunk,而是来源于Promise。也就是说一个Promise天生带有fulfilled,pending,rejected这三个状态。
请查看相关文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise
代码如下:
const myPromise = (new Promise(myExecutorFunc)) .then(handleFulfilledA) .then(handleFulfilledB) .then(handleFulfilledC) .catch(handleRejectedAny);
实际上所有非200级别(如200ok,204 no content)的请求都会被视为请求失败,进入catch,也就是rejected状态。所以,400、404、401、403、甚至是500都会被catch接管,进入rejected的流程。
好的理解了,原来是对应Promise的
登录后可查看更多问答,登录/注册
React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能
657 5
822 10
707 2
1.7k 2
812 1