您的位置:首页 > 健康 > 美食 > 网站建设方案书填写示例_网站ui界面设计软件_能够免费换友链的平台_全球搜索引擎排名2021

网站建设方案书填写示例_网站ui界面设计软件_能够免费换友链的平台_全球搜索引擎排名2021

2025/4/17 14:45:06 来源:https://blog.csdn.net/weixin_44786530/article/details/147077380  浏览:    关键词:网站建设方案书填写示例_网站ui界面设计软件_能够免费换友链的平台_全球搜索引擎排名2021
网站建设方案书填写示例_网站ui界面设计软件_能够免费换友链的平台_全球搜索引擎排名2021

因为要在cocos游戏项目里面发送网络请求获取数据,并且还有可能用到websocket发送请求,所以这里封装一个fetch放便使用:

// fetch封装// 基础配置
const BASE_URL = `你的url`
const TIMEOUT = 5000// 请求封装
const http = async (url: string, options: RequestInit = {}): Promise<any> => {const controller = new AbortController()const timeoutId = setTimeout(() => controller.abort(), TIMEOUT)// 请求前置处理(请求拦截器)const finalOptions: RequestInit = {...options,headers: {'Content-Type': 'application/json',...(options.headers || {}),},signal: controller.signal,}try {const response = await fetch(BASE_URL + url, finalOptions)clearTimeout(timeoutId)const data = await response.json()// 响应拦截器逻辑if (data.code === 401) {if (window.location.href.indexOf('pad') !== -1) {return Promise.resolve({code: 200,data: { msg: '登录无效' },})} else {console.log('登录无效')return Promise.reject({code: 401,data: { msg: '登录无效' },})}} else if (data.code >= 400) {console.log('请求失败')}return Promise.resolve(data)} catch (error: any) {if (error.name === 'AbortError') {console.log('请求超时')} else {console.error('请求失败:', error)console.log('请求失败')}return Promise.reject(error)}
}export default http

 

使用的时候:

import http from './request'export const getSelects = async () => {const data = await http('/carnival/clock_api/getlevelselect', {method: 'GET',})console.log('data--', data)
}

在cocos启动的时候就执行:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com