如何利用jsfetch实现ping效果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何利用jsfetch实现ping效果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2023字,纯文字阅读大概需要3分钟。
内容图文
![如何利用jsfetch实现ping效果](/upload/InfoBanner/zyjiaocheng/286/d7dd61d3dfac4937b5a73f5432ad6bec.jpg)
实际业务终于到的,在部分环境中可能存在网络不稳定的因素,wms手持有时候联网了但实际访问不到网页,很是尴尬
网上找到的大多数方案是通过image去实现的,我也曾参照过,但似乎效果不好
于是利用fetch写了个
import React, { Component } from 'react' import { View,TextInput,ScrollView,Text } from 'react-native' import { List, Button,Flex } from 'antd-mobile' const Item = List.Item class PingTest extends Component { constructor(props) { super(props) // 初始状态 this.state = { ping:'', msglist:[], } this.cycle = null } pingCycle = () => { const { ping,msglist } = this.state const start = (new Date()).getTime() fetch(`http://${ping}`).then(() => { const delta = (new Date()).getTime() - start if (delta > 5000) { msglist.push({ status: 0, msg: `ping ${ping} 连接超时`, }) } else { msglist.push({ status: 1, msg: `ping ${ping} time=${delta} ms`, }) } this.setState({ msglist, }) }).catch((err) => { msglist.push({ status: 0, msg: `ping ${ping} 连接失败`, }) this.setState({ msglist, }) }) } handlePing = () => { this.cycle = setInterval(this.pingCycle,1000) } handleStopPing = () => { clearInterval(this.cycle) } render() { const {msglist} = this.state return ( <View style={{ height: '100%'}}> <List> <Item> <TextInput onChangeText={text => this.setState({ping: text})} /> </Item> <Item> <Flex> <Flex.Item flex={1}><Button type="primary" onClick={this.handlePing.bind(this)}>Ping</Button></Flex.Item> <Flex.Item flex={1}><Button onClick={this.handleStopPing.bind(this)}>停止</Button></Flex.Item> </Flex> </Item> </List> <ScrollView style={{ height: 200,backgroundColor:"#000"}}> {msglist.length ? msglist.map(e => <Flex> <Flex.Item> <Text style={{color: e.status === 1 ? '#87d068' : '#f50'}}>{e.msg}</Text> </Flex.Item> </Flex>):null} </ScrollView> </View> ) } } export default PingTest
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
关于react父子组件之间的传值问题解析
对于Javascript加载的解析
以上就是如何利用js fetch实现ping效果的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的如何利用jsfetch实现ping效果全部内容,希望文章能够帮你解决如何利用jsfetch实现ping效果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。