async function test(){
console.log('开始'); // 打印完这个就出现卡住了
let res = await uni.request({
url: 'http://xxxx.com', // 这个链接是个不通的url就会卡住,如果通才会往下执行
timeout: 3000,
})
console.log(res);
console.log('结束');
}
test()

- 发布:2024-01-20 00:08
- 更新:2024-01-29 16:24
- 阅读:762
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 14.0
HBuilderX类型: 正式
HBuilderX版本号: 3.99
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone se2
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
async function test(){
console.log('开始'); // 打印完这个就出现卡住了
let res = await uni.request({
url: 'http://xxxx.com', // 可以链接换上能连上的和连不上的各执行一次就会发现问题
timeout: 3000,
})
console.log(res);
console.log('结束');
}
test()
async function test(){
console.log('开始'); // 打印完这个就出现卡住了
let res = await uni.request({
url: 'http://xxxx.com', // 可以链接换上能连上的和连不上的各执行一次就会发现问题
timeout: 3000,
})
console.log(res);
console.log('结束');
}
test()
预期结果:
正常会打印 开始 -> 请求结束 -> 结束
正常会打印 开始 -> 请求结束 -> 结束
实际结果:
现在却只打印 开始 -> 卡住无响应
现在却只打印 开始 -> 卡住无响应
bug描述:
ios 使用 uni.request 做异步同步处理时,如果 url 是不通的就会卡住不会再住下执行了。
1 个回复
JXWang
当请求的链接不通时,会报错,后边的代码就不继续执行了,想要请求接口报错也能执行后边代码的话,加个try catch就可以了