如何将参数传递给包含Web服务结果的javascript函数?

时间:2010-09-10 14:39:19

标签: .net javascript wcf web-services

我在javascript中使用此函数来调用Web服务(WCF):

function Do(caller)
{
   MyService.GetClient(some_id, CallBackGetClient);
}

function CallBackGetClient(WebServiceResult)
{
   var result = WebServiceResult;
   etc.
}

现在我想将参数(调用者)传递给CallBackGetClient函数,这样我就可以让dictinction调用Do()函数。如何传递参数?

1 个答案:

答案 0 :(得分:2)

您可以将其置于匿名函数中,您可以使用与预期回调相同的函数签名。

function Do(caller)
{
   MyService.GetClient(some_id, function(webServiceResult) {
       CallBackGetClient(webServiceResult, caller);
   });
}

在这里,您将匿名函数作为回调传递给GetClient。该函数将预期的Web服务结果作为其参数,但在该函数内,您正在转向并调用 real CallBackGetClient,并添加caller作为第二个参数。这是有效的,因为caller被“捕获”在匿名函数的范围内,因此它仍然可用。

这就是关于Javascript的最好的事情。