New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
为什么run返回的promise都得是resolved呀 #400
Comments
求问 +1 |
比如在一个event handler (function body)里面,想对run 返回的错误进行处理,如能返回reject就好了 |
现在可以通过 |
是这样的,handler里面,还有要根据run 的执行结果成功与否再进行其他事情,这种情况下onError没法暂停執行或抛出错误 |
不过都返回resolved是有什么设计上面的考量吗 (好奇 |
我记得最早是因为请求报错后,用户不希望自己 如果改成了
|
我测试了下,给个最终的解释:如果改成 如下示例,如果改成 function getNumber() {
return Promise.reject(new Error('some error'));
}
export default () => {
const { data, loading, run, error } = (() => getNumber(), { manual: true });
return (
<>
<Spin spinning={loading}>Number: {data}</Spin>
<Button onClick={run} style={{ marginTop: 16 }}>
fetch
</Button>
</>
);
}; |
@brickspert 这样的话有个问题: |
我需要再处理下这里的逻辑,先打开问题。我想下~ |
刚刚被这个小小的坑了一下,觉得这里不太符合逻辑。 |
或许可以再加一个配置catcherror?默认情况抛出异常? |
现在有一个 |
v2.1.0 已经修复了改问题。
|
但正常思维,如果我传了options.onError,应该视为出现的error在onError里处理好了吧。如你所说 promise.catch().then()肯定会执行 |
https://github.com/umijs/hooks/blob/e27e65ba7b9ea5f8a343f959b0f174b3e0ee7b59/packages/use-request/src/useAsync.ts#L151
The text was updated successfully, but these errors were encountered: