There are several modules on the page:
// module 1 require(['signalr'], function(s) { s.subscribe('myhub1', function () { /* some code */ }); }); // module 2 require(['signalr'], function(s) { s.subscribe('myhub2', function () { /* some code 2 */ }); });
And there is a method that should be called after calling all the modules (all subscriptions are completed):
require(['signalr'], fuinction (s) { s.connect(); });
A possible solution is to define the modules and write this:
// module 1 define('module 1', ['signalr'], function(s) { s.subscribe('myhub1', function () { /* some code */ }); }); // module 2 define('module 2', ['signalr'], function(s) { s.subscribe('myhub2', function () { /* some code 2 */ }); }); require(['signalr', 'module 1', 'module 2'], fuinction (s) { s.connect(); });
But the problem is that different pages have different modules, say:
page1.cshtml: module 1
page2.cshtml: module 1, module 2
Therefore, I cannot write: require (['signalr', 'module 1', 'module 2'], fyinction (s) {s.connect ();}); because module 2 cannot be defined on page2.cshtml.