저는 SignalR을 사용하여 백엔드 서버와 통신하는 자바 스크립트 클라이언트에서 작업하고 있습니다. 기본 개념은 클라이언트에서 서버에 대한 원격 프로 시저 호출을 수행 할 수 있고 그 반대의 경우도 가능하다는 것입니다. 나는 다음과 같은 매개 변수를 사용하지 않는 서버 메소드를 호출하기위한 적절한 추상화가 :여러 개의 인수를 서버에 보내려면 적용을 사용하십시오.
myInvoke: function (methodName, callback) {
proxy.invoke(methodName)
.done(function (result) {
$rootScope.$apply(function() {
if (callback) {
callback(result);
}
});
});
}
중요한 부분은 문자열로 호출 할 서버 메소드의 이름을 사용 proxy.invoke(methodName)
서비스를 제공합니다.
프록시는 여러 인수를 호출하여 호출 할 수도 있습니다. SignalR documentation에서 몇 가지 예 : 나는했습니다
myInvoke: function (methodName, args, callback) {
proxy.invoke(methodName, args)...
: 내가 성취하고 싶은 것은 인수가 허브에 전달해야 인수의 수는 더이 같은입니다
// one parameter
contosoChatHubProxy.invoke('newContosoChatMessage', { UserName: userName, Message: message}) ...
// two parameters
contosoChatHubProxy.invoke('NewContosoChatMessage', userName, message) ...
적용 방법에 대해 읽었지만 자바 스크립트는 매우 약하고 구현 된 구현을 생각해 낼 수 없었습니다.
인수 그냥 JS 객체가 너무 빈 객체에있는 객체와 기본을 통과하고 당신이 사업에 있어야합니다. 적용을 사용해야하는 유일한 이유는 기본 매개 변수 집합을 전달하려는 경우입니다. –
@GordonBockus 그때 호출에 10 개의 인수를 전달하면 어떻게 작동하는지 이해할 수 없습니다. 그것들을 모두 어떻게 처리해야하는지 어떻게 알 수 있습니까? –