这很简单,它的工作完美…你可以添加条件关于最大的时间或尝试使它更强大的数量…

function sendMessage(msg){

// Wait until the state of the socket is not ready and send the message when it is...

waitForSocketConnection(ws, function(){

console.log("message sent!!!");

ws.send(msg);

});

}

// Make the function wait until the connection is made...

function waitForSocketConnection(socket, callback){

setTimeout(

function () {

if (socket.readyState === 1) {

console.log("Connection is made")

if(callback != null){

callback();

}

return;

} else {

console.log("wait for connection...")

waitForSocketConnection(socket, callback);

}

}, 5); // wait 5 milisecond for the connection...

}

js websocket同步等待_javascript – 如何等待WebSocket的readyState更改相关推荐

  1. js websocket同步等待_WebSocket硬核入门:200行代码,教你徒手撸一个WebSocket服务器...

    本文原题"Node.js - 200 多行代码实现 Websocket 协议",为了提升内容品质,有较大修订. 1.引言 最近正在研究 WebSocket 相关的知识,想着如何能自 ...

  2. 使用Ajax同步请求增加页面等待提示

    使用Ajax同步请求增加页面等待提示 最近在做项目时,有一个需求是批量打印好多个合同,使用AJAX向后台传送数据,等待后台执行后,需要把生成之后的文件地址传送过来. 后台的处理时间比较长,根据合同的多 ...

  3. 【websocket前后端交互】vue-springboot实现websocket前后端交互链接,websocket心跳重连,包含前后端代码,复制即可用【详细解释版本】

    前言: 还是老规矩,一步步的教大家如何建立前后端的 websocket 链接,并能完成互相传送数据的简单功能.由于网上找了半天发现很多帖子都是东一句西一句的,要不就是写的没什么注释和解释,导致我这个前 ...

  4. websocket python爬虫_python实现基于websocket协议的网络爬虫

    WebSocket是一种在单个TCP连接上进行全双工通信的协议,简单来说就是建立一个TCP长连接之后,你可以服务器随时可以给客户端发送消息,客户端随时可以给服务器发送消息,而以前只能是客户端给服务器发 ...

  5. websocket 连接本地端口_聊聊 WebSocket,还有 HTTP

    还记得曾经风靡一时的 QQ 秀聊天室吗?那时,还在上初.高中的我们,QQ 是最常用的聊天交友工具:而 QQ 秀聊天室的出现打破了只能按条件查找好友的局限性,大家可以随意进入聊天室房间,进行在线聊天.怀 ...

  6. appium 等待的3中方式:强制等待、隐式等待、显示等待

    强制等待.隐式等待.显示等待 三者的特点 强制等待是sleep,强烈不推荐,设定的时间太固定,如果是模拟器等待3秒,真机可能只需要等待2秒 driver.implicitly.wat(timeout) ...

  7. 【等待事件】等待事件系列(5.1)--Enqueue(队列等待)

    [等待事件]等待事件系列(5.1)--Enqueue(队列等待) 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

  8. JS中同步和异步的区别

    JS中同步和异步的区别 js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推.如果一个任务耗 ...

  9. websocket创建失败_SpringBoot2.2 实践WebSocket被不靠谱的百度搜索结果坑了多少人

    日常普通项目开发过程中,我们几乎很少用到WebSocket开发.但最近的项目有个功能需要服务器端实时的推送最新的信息同步到前端页面展示.所以思前想后,决定采用WebSocket再适合不过了.于是在实现 ...

最新文章

  1. 安装多个版本的jdk
  2. 【Vue.js 牛刀小试】:第九章 - 组件基础再探(data、props)
  3. 常微分方程matlab求解
  4. java解析xml文档_Java解析xml文件
  5. RHEL 5服务篇—使用Apache搭建Web服务(一)
  6. 玩转Eureka+Ribbon系列之Ribbon的负载均衡策略
  7. SAP CRM Fiori应用My note的技术实现
  8. Microsoft Teams的Meet Now功能
  9. 软件工程学习笔记《四》需求分析
  10. ExtJS4.2学习(21)动态菜单与表格数据展示操作总结篇2
  11. c# 关于WebBrowser的模拟提交InvokeMember方法是什么意思!
  12. jmeter 能调用python吗_jmeter 执行python脚本的方法 。(亲测ok)
  13. C++--第7课 - 面向对象基本概念
  14. 网络安全专业名词解释
  15. 伯努利方程(压力与流量的关系)
  16. 论文引用图片时的版权声明(Reproduced with permission, courtesy of [copyright owner])
  17. windows当中python的安装和环境部署,和数据类型,并且在linux当中安装python是windows当中的pycharm基于linux可以运行
  18. 开源软件 商业软件_如何销售开源软件
  19. 使用openssl将pfx格式证书转换成key和crt
  20. 贯入用计算机怎样换算,标准贯入试验的应用及其杆径换算的研究.doc

热门文章

  1. 线上线下样本分布不一致的判断与处理方式
  2. Excel - VBA实例: 遍历若干cell的值
  3. Archlinux 命令行模式-安装 BIOS 非 UEFI(实装笔记)(系统安装完成,系统美化使用未完成)
  4. 欢迎使用CSDN水电费叠伤
  5. java基于springboot+vue车辆违章信息管理系统
  6. Rails: Gruff进阶应用
  7. 突发!中国法院初步裁决禁售多款iPhone,高通告赢了苹果?
  8. e人e本oa系统设置服务器,如实陈述E 人E 本手写办公系
  9. TISC—系统多学科协同仿真平台
  10. 用ChemDraw画3D图的方法