nicokaiser / wamp.io

An implementation of the Autobahn WebSockets RPC/PubSub: WebSocket Application Messaging Protocol (WAMP) for WebSocket.IO or Engine.IO
80 stars 19 forks source link

How to handle request timeout? #14

Open RobinQu opened 11 years ago

RobinQu commented 11 years ago

Is there any solutions to take care of timeout of RPC requests?

RaoHai commented 11 years ago

One solution, using setTimeout

//connect time out
var request_timeout = setTimeout(function() {
    clearTimeout(request_timeout);
    //Handle Time out 
}, 5000);

app = wamp.connect(url,
    function (session) {
        clearTimeout(request_timeout);
        //connected function
    },
    function (session) {
        //lost connect function
    });

//request time out

var request_timeout = setTimeout(function() {
    clearTimeout(request_timeout);
    //Handle Time out 
}, 5000);

session.call("test:isEven", 2)      
    .promise.then(
    // RPC success callback
        function (reply)
        {
            console.log("result: " + reply);
            clearTimeout(request_timeout);
        },
         // RPC error callback
        function (error, desc) 
        {        
            console.log("error: " + desc);
            clearTimeout(request_timeout);
        }
    );