我正在使用SignalR与后端服务器进行通信的一个javascript客户端。基本思想是,你可以在客户机上对服务器进行远程过程调用,反之亦然。我有一个适当的抽象调用不带任何参数如下服务器方法:使用应用向服务器发送多个参数
myInvoke: function (methodName, callback) {
proxy.invoke(methodName)
.done(function (result) {
$rootScope.$apply(function() {
if (callback) {
callback(result);
}
});
});
}
的重要组成部分,是proxy.invoke(methodName)
这需要服务器方法的名字作为一个字符串来调用。
代理还允许传递多个参数来调用。从SignalR documentation一些例子:
// one parameter
contosoChatHubProxy.invoke('newContosoChatMessage', { UserName: userName, Message: message}) ...
// two parameters
contosoChatHubProxy.invoke('NewContosoChatMessage', userName, message) ...
我想做到的是更多的东西像这样的地方参数表是任意数量的参数应该被转发到集线器:
myInvoke: function (methodName, args, callback) {
proxy.invoke(methodName, args)...
我已经一直在阅读有关应用方法,但我的JavaScript是相当薄弱的,我一直没有能够拿出一个工作实现。
的ARGS仅仅是一个JS对象,以便传递一个对象,并默认为空的对象,你应该在企业。你需要使用apply的唯一原因是你想要传递一些默认参数。 – 2014-10-29 18:11:52
@GordonBockus我不明白如果我将10个参数传递给invoke,那么这将如何工作。它如何知道如何处理它们? – 2014-10-29 18:21:14