网络连接管理connection中this指向问题
在网络管理模块connection中,按照开发文档的示例代码,在调用connection.hasDefaultNet函数时,其回调函数中使用this.xxx时,会发生异常。如下图所示:
checkInterNetInfo() {
connection.hasDefaultNet().then(function (has) {
if (has) {
this.message = "网络正常";
} else {
this.message = "网络异常"
}
}).catch((err) => {
console.info("check internet error: " + err)
})
}
当代码执行到“this.message="网络正常"”或者“this.message="网络异常"”时,会发生异常,并进入catch中。这并不是期待的结果。究其原因,是this指向的问题导致的。在then()函数中使用匿名函数function(has){}等方式时,在function函数体中this指向的是函数本身,并非全局对象,从而导致异常。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
获取当前网络连接能力
285浏览 • 1回复 待解决
获取netHandle网络连接信息
212浏览 • 1回复 待解决
使用connection网络管理接口获取网络类型的相关疑问
242浏览 • 1回复 待解决
axios网络功能问题,axios是否会支持网络连接失败的重试机制?
514浏览 • 1回复 待解决
网络连接能力监听,应用操作时需要随时监听过程中网络连接状态变化,将连接信息返回及时进行处理
237浏览 • 1回复 待解决
代理只能连接网络的时候设置,一旦网络连接上后就没有入口设置代理了
265浏览 • 1回复 待解决
DevEco Studio 每次到安装SDK部分就显示网络连接失败
2219浏览 • 1回复 待解决
使用IP Connection连接方式调试鸿蒙应用,手机拒绝连接,怎么办?
3547浏览 • 1回复 待解决
手机网络正常,调用connection.hasDefaultNet()接口失败
222浏览 • 1回复 待解决
手机网络正常,但是调用connection.hasDefaultNet()接口失败
478浏览 • 1回复 待解决
对象中函数的this如何指向外层
618浏览 • 1回复 待解决
网络地址建立socket连接
239浏览 • 1回复 待解决
网络管理中网络详情、域名解析、网络状态监听等功能模拟
281浏览 • 1回复 待解决
如何理解connection.getDefaultNet返回对象netHandle中的netId
563浏览 • 1回复 待解决
连接网络信息获取有好的方案吗?
277浏览 • 1回复 待解决
Kubernetes 集群遭遇奇怪的 ingress-nginx 健康检查失败问题:connection refused
1430浏览 • 0回复 待解决
网络请求创建后,持久化问题
230浏览 • 1回复 待解决
状态管理相关问题,有人知道吗?
355浏览 • 1回复 待解决
Navigation管理多页面堆栈太多问题
502浏览 • 1回复 待解决
openharmony 基于arkts的socket连接问题
2319浏览 • 1回复 待解决
DevEco Studio一定需要连接网络才能使用吗?
7509浏览 • 1回复 待解决
popup组件气泡框指向颜色怎么修改?
5566浏览 • 1回复 待解决
如何让蓝牙网络和插网线的本地连接同时使用?
1437浏览 • 1回复 待解决
mysql左连接的一个问题
1065浏览 • 1回复 待解决
网络波动情况下,底层系统是否会关闭Socket连接
490浏览 • 1回复 待解决
方式1:使用箭头函数表示。例如将then()中传入的回调函数改为使用箭头函数表示
方式2:改变this指向,使其指向正确的对象。如下所示:
说明:
开发文档中connection示例代码链接如下:gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-net-connection.md
该模块下的接口信息多为异步返回结果,在使用时皆需注意this指向的问题