1

我正在使用初始化程序连接到套接字服务器。经过一段时间后,我想重定向到另一条路线(处理错误)。

如何从初始化程序执行此操作?

当前代码如下:

/* Socket Initializer */
export default {
    name:   'Socket',
    initialize: function(Container, Application) {

        Application.deferReadiness();       

        var IO = Container.lookup('socket:main');

        IO.connect({
            reconnectionDelayMax: 1000
        });


        IO.socket.on('connect', function(){
            Application.advanceReadiness();
        });


        var RetryCounter = 0;

        IO.socket.on('connect_error', function(Error) {

            if (RetryCounter == 2) {


                //this.transitionTo('development');
                //Application.transitionTo('development');
                //Container.transitionTo('development');

                // None of the above work.

            }
            RetryCounter++;  
        });
    }
};
4

1 回答 1

2

您可以从容器中获取路由器并从中调用 transitionTo。

var router = container.lookup('router:main');
router.transitionTo('foo');

人为的例子:http ://emberjs.jsbin.com/bukuvuho/3/edit

于 2014-09-30T21:44:46.060 回答