Taro封装request请求后台数据
在Taro框架中封装网络请求,可以使用Taro自带的Taro.request
方法或者引入第三方库如axios。以下是使用Taro自带的Taro.request
方法封装网络请求的示例代码:
import Taro from '@tarojs/taro'
// 封装网络请求
function request(options) {
return Taro.request({
url: options.url, // 服务器url
method: options.method || 'GET', // 请求方法,默认为GET
data: options.data || {}, // 请求参数
header: options.header || { 'Content-Type': 'application/json' }, // 设置请求的 header
// 如果你要上传文件,还可以加上这些参数
// filePath: '', // 要上传文件资源的路径
// name: '', // 文件对应的 key
// formData: {} // 附带的 form data
}).then(res => {
const { statusCode, data } = res
if (statusCode >= 200 && statusCode < 300) {
// 请求成功
return data
} else {
// 请求失败处理
// 可以自定义处理错误,比如返回错误信息,抛出异常等
console.error('请求出错:', res)
// 这里抛出错误,可以在调用请求的地方捕获错误
throw new Error('网络请求失败')
}
}).catch(err => {
// 请求失败处理
console.error('请求出错:', err)
// 这里抛出错误,可以在调用请求的地方捕获错误
throw new Error('网络请求失败')
})
}
// 使用封装后的网络请求
request({
url: 'https://your-api-url.com/endpoint',
method: 'POST',
data: {
key: 'value'
},
header: {
'Custom-Header': 'value'
}
}).then(response => {
console.log('请求成功:', response)
}).catch(error => {
console.error('请求失败:', error)
})
在实际项目中,你可能需要对请求进行更多的封装,比如添加全局的loading状态、错误处理、拦截器等。这个示例提供了一个基本的封装,你可以根据项目需求进一步完善。
评论已关闭