TypeScript @-actions-appArgs.startLoading类(方法)实例源码

下面列出了TypeScript @-actions-appArgs.startLoading 类(方法)源码代码实例,从而了解它的用法。

作者:Zulus    项目:Budgetariu   
return (dispatch: Redux.Dispatch<any, IState>, getState: () => IState) => {
     dispatch(startLoading("wallet"));
     const mutation = WALLET_CREATE_MUTATION;
     const variables = data;
     clientAccess.mutate({mutation, variables})
         .then(response => {
             dispatch(endLoading("wallet"));
             if (!response.data) {
                 throw Error("Server returns empty response");
             } else {
                 const w = (response.data.createWallet as IWalletCreateMutationResponse);
                 const wallet = {
                     ...w,
                     ownerId: (w.owner.id as string)
                 };
                 dispatch(walletCreationSuccess(wallet as any));
             }
         })
         .catch((err: any) => {
                 if (err.graphQLErrors) {
                     err.graphQLErrors.forEach((e: any) => dispatch(this.fetchFailed.execute(e.message)));
                 } else {
                     dispatch(this.fetchFailed.execute(err.message));
                 }
             }
         );
 };

作者:Zulus    项目:Budgetariu   
return (dispatch: Redux.Dispatch<any, IState>, getState: () => IState) => {
     dispatch(startLoading("transactions"));
     const mutation = TRANSACTION_DELETE_MUTATION;
     const variables = {id};
     clientAccess.mutate({mutation, variables})
         .then(response => {
             const answer = (response.data as any);
             clientAccess.cache.reset();
             if (!answer) {
                 throw Error("Server returns empty response");
             } else {
                 dispatch(endLoading("transactions"));
                 dispatch(removeTransactionFromSelectedWallet(id));
                 dispatch(transactionDeleteSuccess(id));
             }
         })
         .catch((err: any) => {
                 if (err.graphQLErrors && err.graphQLErrors.length) {
                     err.graphQLErrors.forEach((e: any) => dispatch(this.fetchFailed.execute(e.message, "transactions")));
                 } else {
                     dispatch(this.fetchFailed.execute(err.message, "transactions"));
                 }
             }
         );
 };

作者:Zulus    项目:Budgetariu   
return (dispatch: Redux.Dispatch<any, IState>, getState: () => IState): any => {
     // get current refresh token
     const {refreshToken} = getState().auth;
     if (!refreshToken) {
         return dispatch(authLogout());
     }
     // check time of current refresh token
     if (new Date(refreshToken.expiredIn) <= new Date) {
         return dispatch(authLogout());
     }
     // load new access token
     dispatch(startLoading("auth"));
     clientRefresh.mutate({mutation: REFRESH_ACCESS_TOKEN_MUTATION})
         .then((response: any) => {
             if (!response.data) {
                 throw Error("Server returns empty response");
             } else {
                 clientAccess.cache.reset();
                 const {token, expiredIn} = response.data.access;
                 dispatch(authUpdateAccessToken({token, expiredIn}));
                 dispatch(endLoading("auth"));
             }
         })
         .catch(err => {
             if (err.graphQLErrors) {
                 err.graphQLErrors.forEach((e: any) => this.authFailAction.execute(e.message));
             } else {
                 dispatch(this.authFailAction.execute(err.message));
             }
         });
 };


问题


面经


文章

微信
公众号

扫码关注公众号