自定义Hooks网络请求

简介: 自定义Hooks网络请求

/**

  • @Auther: 1580043700@qq.com
  • @Date: 2020/12/3 14:19
  • @Description: 自定义Hooks网络请求,

*/
import {useEffect, useState} from 'react';

/**

  • 自定义Hooks网络请求,
  • @param promise ajax请求
  • @returns {{data: object|number|boolean|string, loading: boolean, error: string}}

*/
export default function useRequest(promise, params = {}) {

let [loading, setLoading] = useState(false);
let [data, setData] = useState({});
let [error, setError] = useState('');

useEffect(() => {
    setError('');
    setLoading(true);

    promise(params)
        .then(({payload}) => {
            setLoading(false);
            setData(payload);
        })
        .catch((err) => {
            setLoading(false);
            setError(err?.msg || `服务器异常,请稍后重试,code:${err.code}`);
            // 这里可以放一个toast提示
            console.error('请求失败', err);
        });
}, [params]);

return {data, loading, error};

}

目录
相关文章
|
2月前
|
Docker 容器
docker中创建自定义网络
【10月更文挑战第7天】
53 6
|
2月前
|
安全 NoSQL Redis
Docker自定义网络
Docker自定义网络
42 11
|
2月前
|
Docker 容器
docker中自定义网络
【10月更文挑战第5天】
46 3
|
3月前
|
Shell Linux Docker
自定义Docker网络
这篇文章介绍了如何使用Docker命令自定义网络,并通过创建和配置网络来实现容器间的通信。
44 6
自定义Docker网络
|
4月前
|
SQL 网络协议 安全
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
|
4月前
|
网络协议 微服务
【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
|
6月前
|
分布式计算 NoSQL 大数据
MaxCompute产品使用合集之自定义udf连接云上vpc网络的redis获取数据的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
数据采集 Web App开发 iOS开发
自定义User-Agent:使用Python Requests进行网络请求
自定义User-Agent:使用Python Requests进行网络请求
|
7月前
|
运维 安全 Linux
深入理解Docker自定义网络:构建高效的容器网络环境
深入理解Docker自定义网络:构建高效的容器网络环境
307 6
|
7月前
|
监控 网络协议 数据安全/隐私保护
运用自定义协议设计与实现“跨网络计算器”
运用自定义协议设计与实现“跨网络计算器”
74 3