Use the fact that start() returns a promise and add multiple handlers to when it is fulfilled.
The promise is a jQuery Deferred object: http://api.jquery.com/category/deferred-object/
$(function () {
var exampleHubProxy = $.connection.exampleHub;
var exampleViewModel = new ExampleViewModel(exampleHubProxy);
var anotherViewModel = new AnotherViewModel(exampleHubProxy);
exampleHubProxy.on('message', function (clientEvent1) {
console.log(clientEvent1);
});
exampleHubProxy.on('message', function (clientEvent2) {
console.log(clientEvent2);
});
//Real question starts here
var startPromise = $.connection.hub.start();
// start() returns a promise
startPromise.then(exampleViewModel.init);
startPromise.then(anotherViewModel.init);
$.connection.hub.start();
});