在函数和结果处理程序之间传递参数

时间:2010-07-10 01:14:12

标签: flex actionscript

我有一个函数fooA(valueA1,valueA2),它调用web方法myWSA()。在重新获得结果时,它会调用一个结果处理程序,该处理程序将调用另一个Web服务myWSB(value2)。我想知道如何将这个value2传递给foo2。这些值:value1和value2取决于按钮的设置。

private function fooA(valueA1:int, valueA2:int){
     callResponder.token = myWSA(valueA1);
}

private function myWSA_resultHandler(event:ResultEvent ) {
     myWSB(value2); //----------> I want to use the parameter, value2, passed in fooA here.

}


<fx:Declarations>
<s:WebService id = "myWebService"
                      wsdl = "http://MyWebService?wsdl"
                      fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)">
            <s:operation name = "myWSA"
                         result= "myWSA_resultHandler(event)"/>

</s:WebService>
<s:CallResponder id = "callResponder" />
</fx:Declarations>

<s:Button id = "button1"
          label="Button1"
       click = "fooA(val1, val2)"/>
<s:Button id = "button2"
          label="Button2"
       click = "fooA(val3, val4)"/>

1 个答案:

答案 0 :(得分:0)

您无法从另一个方法中的一个方法访问参数。返回源并访问原始值。

如果您能够假设Val1和val2在第一次通话开始和第二次通话之间不会改变,那么只需使用this.val1正常访问它们。

如果你想假设值可能会改变,或者是特定于呼叫,那么你会想要在第一次调用时存储这些值,假设它们可能会改变你需要编写一个机制跟踪正在进行的通话及其相关的相关属性。

我怀疑你想要完成什么。将Web服务1和Web服务2包装到同一个调用中不是更好吗?