uni-app 鸿蒙下request请求abort无效
uni-app 鸿蒙下request请求abort无效
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本 | 小米 26100.4061 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.66 |
| 手机系统 | HarmonyOS NEXT |
| 手机系统版本 | HarmonyOS 5.0.1 |
| 手机厂商 | 华为 |
| 手机机型 | 华为mate60 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
每次进行页面切换时 abort接口 鸿蒙下无效 h5和安卓abort过的接口 再次请求会很快fail超时时间无效
预期结果:
鸿蒙下abort方法可用 每次abort过的接口再次请求还是正常15s
实际结果:
鸿蒙下abort无效 每次abort过的接口很快fail
bug描述:
- 页面跳转时将当前页面未执行的请求abort掉 安卓h5调用了abort方法都是可以执行 鸿蒙下调用了该方法无效 页面跳转了接口请求一直在执行 2. 已经abort过的接口再次请求 会很快fail 设置的请求超时时间15s无效 没有abort过的接口再次请求是正常15s (自己的网络请求公司内网接口模拟出来的)
更多关于uni-app 鸿蒙下request请求abort无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
不跳转页面直接调用 abort 试过正常吗?只有在切换页面的时候出现吗?
更多关于uni-app 鸿蒙下request请求abort无效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
回复 9***@qq.com: 那等我看一下
我使用如下代码测试,发现abort的使用是正常的,后端延长 2s 后返回
<template>
<view>
<view>状态: {{ status }}</view>
<button @click=“startRequest”>发送请求</button>
<button @click=“abortRequest” :disabled="!requestTask">中止请求</button>
</view>
</template>
后端:
app.get("/", (req, res) => {
setTimeout(() => {
res.send(“Hello World!”);
}, 2000);
});
如果与你的项目有出入,请你提供一下你的项目
回复 9***@qq.com: 好的等我看一下这个差异
再帮忙看看这个两个问题 下面有截图
回复 DCloud_UNI_yuhe: 这个问题再帮忙看下
回复 9***@qq.com: 我经过测试,请求是能够中止的,且没有看到你说的继续请求的情况
回复 9***@qq.com: 这个你看到的显示问题,只是这个判断条件有差异,你可以在errmsg中根据这个进行判断
现在存在一个fail 中 errmsg 不一致的问题,之后会修复,就能在 fail 中看到原因是 abort 了
回复 DCloud_UNI_yuhe: 鸿蒙手机上运行你的代码还是不行啊 中断请求后还是会等到超时才会中止 我把图贴下面了 中断的时候打印了开始中断
这个列子h5是可以直接取消的 鸿蒙下不行
你这个请求失败是因为没有正确配置服务器吧。
我这里的服务器是 31.172 你服务器不能也是这个 ip 吧
回复 DCloud_UNI_yuhe: 失败是调用了你这边接口这个不影响流程(模拟取消请求流程) 用我这边的服务器也是这样的 只要主动abort过 再次点击请求 在网不好的时候就会很快失败 但是没有主动abort的接口就会一直请求直到达到设置的超时时间 还有就是鸿蒙下abort方法木有效果
回复 DCloud_UNI_yuhe: 你可以多点几下 点击后过几秒中端请求 然后再次发送请求 多重复操作几次会出现很快请求失败
手机上点击按钮后过了几十秒才会出现代码打印的complete
这个问题应该是abort现在版本不会触发fail中的逻辑
你尝试一下这个临时解决方案:在harmony-configs的 libs 目录下,把下面的文件放在这个文件夹里面
好的 我试下
这个方案可以的执行了abort方法
这个方案有没有其它影响啊
回复 9***@qq.com: 这个就是基于最新的4.74 alpha 构建的
hbuilderx 4.81 已修复



