webSocket实时获取数据如何在另一个方法里调用它

buaichidoufu 2017-06-13 01:40:27

function d(){
ws.onmessage = function (evt){
var c = evt.data;
console.log(c);
};
}
function a(){
吧上边的str获取的数据在这里调用
}


...全文
1567 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2017-06-13
  • 打赏
  • 举报
回复
引用 6 楼 buaichidoufu 的回复:
[quote=引用 5 楼 showbo 的回复:] [quote=引用 4 楼 buaichidoufu 的回复:] [quote=引用 3 楼 showbo 的回复:] 自己f12看控制报什么错误,你调用d传递a作为回调肯定可以的,只能说你作用域有问题可能访问不到对应的函数
调用过来以后为什么一条会是undefined 然后其他正常[/quote]你其他地方调用过a不,就不是onmessage里面调用的a,自己检查a还有哪个地方调用过[/quote] 是调用过一次 但是他是一个数据表,必须在最先加载进来,所以在最前面被条用过一次,还有方法能解决这个问题嘛?[/quote]自己判断啊,data参数undefined就是为onmessage调用的,自己加逻辑 function a(data){ if(data!=undefined){//onmessage } else{//非onmessage } }
buaichidoufu 2017-06-13
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
[quote=引用 4 楼 buaichidoufu 的回复:] [quote=引用 3 楼 showbo 的回复:] 自己f12看控制报什么错误,你调用d传递a作为回调肯定可以的,只能说你作用域有问题可能访问不到对应的函数
调用过来以后为什么一条会是undefined 然后其他正常[/quote]你其他地方调用过a不,就不是onmessage里面调用的a,自己检查a还有哪个地方调用过[/quote] 是调用过一次 但是他是一个数据表,必须在最先加载进来,所以在最前面被条用过一次,还有方法能解决这个问题嘛?
Go 旅城通票 2017-06-13
  • 打赏
  • 举报
回复
引用 4 楼 buaichidoufu 的回复:
[quote=引用 3 楼 showbo 的回复:] 自己f12看控制报什么错误,你调用d传递a作为回调肯定可以的,只能说你作用域有问题可能访问不到对应的函数
调用过来以后为什么一条会是undefined 然后其他正常[/quote]你其他地方调用过a不,就不是onmessage里面调用的a,自己检查a还有哪个地方调用过
buaichidoufu 2017-06-13
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
自己f12看控制报什么错误,你调用d传递a作为回调肯定可以的,只能说你作用域有问题可能访问不到对应的函数
调用过来以后为什么一条会是undefined 然后其他正常
Go 旅城通票 2017-06-13
  • 打赏
  • 举报
回复
自己f12看控制报什么错误,你调用d传递a作为回调肯定可以的,只能说你作用域有问题可能访问不到对应的函数
buaichidoufu 2017-06-13
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
function d(callback){ ws.onmessage = function (evt){ var c = evt.data; callback(c) }; } function a(data){ alert(data) } d(a);//这样调用
调不过来。。。。。
Go 旅城通票 2017-06-13
  • 打赏
  • 举报
回复
function d(callback){ ws.onmessage = function (evt){ var c = evt.data; callback(c) }; } function a(data){ alert(data) } d(a);//这样调用

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧