forked from ddrilling/asb_cloud_front
Добавлена возможность указывать для invokeWebApiWrapperAsync в качестве текста ошибки метод, принимающий самую ошибку и возвращающий текст
This commit is contained in:
parent
8a848b56c5
commit
f389097439
@ -31,7 +31,11 @@ export const notify = (body: string|any, notifyType:string ='info', other?: any)
|
|||||||
|
|
||||||
type asyncFunction = (...args:any) => Promise<any|void>;
|
type asyncFunction = (...args:any) => Promise<any|void>;
|
||||||
|
|
||||||
export const invokeWebApiWrapperAsync = async (funcAsync: asyncFunction, setShowLoader: Dispatch<SetStateAction<boolean>>, errorNotifyText: string) => {
|
export const invokeWebApiWrapperAsync = async (
|
||||||
|
funcAsync: asyncFunction,
|
||||||
|
setShowLoader: Dispatch<SetStateAction<boolean>>,
|
||||||
|
errorNotifyText: (string | ((ex: unknown) => string))
|
||||||
|
) => {
|
||||||
if(setShowLoader)
|
if(setShowLoader)
|
||||||
setShowLoader(true)
|
setShowLoader(true)
|
||||||
try{
|
try{
|
||||||
@ -39,8 +43,11 @@ export const invokeWebApiWrapperAsync = async (funcAsync: asyncFunction, setShow
|
|||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
if(process.env.NODE_ENV === 'development')
|
if(process.env.NODE_ENV === 'development')
|
||||||
console.error(ex)
|
console.error(ex)
|
||||||
if(errorNotifyText)
|
if(errorNotifyText) {
|
||||||
notify(errorNotifyText, 'error')
|
if (typeof errorNotifyText === 'function')
|
||||||
|
notify(errorNotifyText(ex), 'error')
|
||||||
|
else notify(errorNotifyText, 'error')
|
||||||
|
}
|
||||||
} finally{
|
} finally{
|
||||||
if(setShowLoader)
|
if(setShowLoader)
|
||||||
setShowLoader(false)
|
setShowLoader(false)
|
||||||
|
Loading…
Reference in New Issue
Block a user