【发布时间】:2016-03-24 15:30:15
【问题描述】:
我有 react-native@0.17 这样的代码
import React, { AsyncStorage, Component, View, Text, WebView, WebSocket } from 'react-native';
import { Avatar, Divider, Subheader, COLOR } from 'react-native-material-design';
export default class Avatars extends Component {
_setWebSocket = (endpoint, sessionToken) => {
const ws = new WebSocket('wss://' + endPoint + '/api/live?authToken=' + sessionToken);
console.log('Setting socket: ' + 'wss://' + endpoint + '/api/live?authToken=' + sessionToken);
我正在从以下位置调用代码:
componentDidMount() {
this._setWebSocket(endpoint, token);
}
我在尝试让 WebSockets 作为代码工作时遇到问题:
console.log('Setting socket: ' + 'wss://' + endpoint + '/api/live?authToken=' + sessionToken);
从不触发。如果我在创建新的 WebSocket 之前放置控制台日志,它就会运行。我做错了什么以及如何调试,因为 chrome 没有结合 Genymotion 显示有用的信息。
【问题讨论】:
-
您是否使用 Genymotion 上下文菜单中的“远程调试 JS”?如果没有,请在控制台中输入
adb logcat *:S ReactNative:V ReactNativeJS:V以查看日志 -
我的代码成功实例化了一个 WebSocket,但由于未知原因触发了它的
onerror处理程序:/ -
最终使用了 socket.io,它工作正常 :)
标签: react-native