Socket.io并不总是有效

时间:2015-09-08 13:20:47

标签: javascript node.js socket.io reactjs

我正在使用一些模块,除了socket.io并不总是正常工作之外,一切都在原地之外......

我们已经在Socket.io中使用了一些“路线”,这些路线都很好用并且每次都有效!

但是现在,我们正在推出一个新的 'order / new',它应该显示每个新订单。

创建新订单,通过队列发送消息,我们通过GET请求检索它,然后我们使用Socket.io将其发送给用户。

但emit函数并不总是'发出'(?!)...... 任何人都可以帮我这个吗?

服务器:

var OrdersViewer = React.createClass({

    setNewOrder (order) {
        console.log("new order gotten nr.", this.state.orders.length);
        // this doesn't always get called...
        var orders = _.cloneDeep(this.state.orders);
        orders.push(order);
        this.setState({orders});
    },

    componentDidMount() {
        socket.on('order/new', this.setNewOrder)
    },

    render() {
        // renders stuff
    }
});

前线(反应):

PDO::FETCH_CLASS

如果需要更多信息,请在下面的评论中说明 一切都是最新的(Node.js,React.js,Socket.io等)

1 个答案:

答案 0 :(得分:0)

我看到setNewOrder存在一个问题。

    var OrdersViewer = React.createClass({

            setNewOrder (order) {
                    console.log("new order gotten nr.", this.state.orders.length);
                    // this doesn't always get called...
                    var orders = _.cloneDeep(this.state.orders);
                    orders.push(order);
                    //this.setState({orders});
                    this.setState({orders: orders});
            },

            componentDidMount() {
                    socket.on('order/new', this.setNewOrder)
            },

            render() {
                    // renders stuff
            }
    });