Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理react查询中的错误';什么是成功的事件?_Javascript_Reactjs_Indexeddb_React Query - Fatal编程技术网

Javascript 如何处理react查询中的错误';什么是成功的事件?

Javascript 如何处理react查询中的错误';什么是成功的事件?,javascript,reactjs,indexeddb,react-query,Javascript,Reactjs,Indexeddb,React Query,我使用React查询的usemotation进行了一个api调用。调用完成后,我将数据存储在indexedDB中。此过程在useCommutation的onSuccess参数内完成 在firefox中,这个过程总是失败。因此,我需要抛出一个错误,并让用户知道此浏览器不受支持。但是React查询不再在onSuccess方法中捕获错误。如何解决这个问题?代码如下: //突变 const login:AuthService[“login”]=()=>{ 常量{mutateAsync,isLoadin

我使用React查询的
usemotation
进行了一个api调用。调用完成后,我将数据存储在
indexedDB
中。此过程在
useCommutation
onSuccess
参数内完成

在firefox中,这个过程总是失败。因此,我需要抛出一个错误,并让用户知道此浏览器不受支持。但是React查询不再在
onSuccess
方法中捕获错误。如何解决这个问题?代码如下:

//突变
const login:AuthService[“login”]=()=>{
常量{mutateAsync,isLoading,error,reset,isSuccess}=useMutation(
(表单:LoginForm)=>\u登录(表单),
{
onSuccess:async(用户:用户)=>{
wait IndexedDB.saveUser(用户);
},
}
);
返回{
onLogin:(form:LoginForm)=>mutateAsync(form),
加载:卸载,
重置:()=>reset(),
服务器错误:错误?错误[“消息”]:“”,
成功:成功,
};
};
//indexedDb函数(第一部分,这是命名不同的原因):
静态createDB(){
const request=indexedDB.open(DB_NAME,1);
request.onupgradeneeded=(e:IDBVersionChangeEvent)=>{
const db=e.target[“result”];
返回db.createObjectStore(我的存储,{autoIncrement:true});
};
request.onerror=()=>{
抛出新错误(“不支持此浏览器”);//未捕获错误
};

}
最简单的方法可能会使其成为
变异fn的一部分,在您的情况下,
\u登录(表单)
。你可以正常地
在那里等待你的变异,然后保存到IndexedDB