【问题标题】:How to pass parameter to javascript function that contains web service results?如何将参数传递给包含 Web 服务结果的 javascript 函数?
【发布时间】:2010-09-10 14:39:19
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: .net javascript wcf web-services


    【解决方案1】:

    你可以把它放在一个匿名函数中,你可以使用与预期回调相同的函数签名。

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

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

    这就是 Javascript 最棒的地方。

    【讨论】:

    • 如何在 CallBackGetClient 中同时获得两个?
    • CallBackGetClient 将如下所示: CallBackGetClient(WebServiceResult, caller) then?
    • 我想我明白你在追求什么。我更新了答案。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    相关资源
    最近更新 更多