2012-02-27 29 views
0

我正在使用RemoteObjects從Flex/Flash Builder 4.6調用ZendAMF PHP。我想在基於事件或類似事件將請求發送到服務器之前停止或中止方法調用。Flex - 如何中止/停止RemoteObject方法調用?

我有,我創建並存儲所有RemoteObjects的一類 - 例如:

activityLogService = new RemoteObject("zend"); 
activityLogService.endpoint=endpointServer; 
activityLogService.addEventListener(FaultEvent.FAULT,faultHandler); 

再後來我可以簡單地調用這個對象:

remotingService.activityLogService .getRecords(); 

我試圖找到一種方法在我的remotingService對象中停止請求 - 並且不向服務器發送任何東西 - 例如,如果某些變量設置不正確。

我注意到有一個invoke事件: activityLogService.addEventListener(InvokeEvent.INVOKE,invokeHandler);

但是,我不知道這是否會阻止正確的事情發生,或者甚至有可能實際停止請求 - 如果是這樣,怎麼辦?

謝謝!

回答

0

退房這個問題 Flex : Is it possible to stop a remote call?

如果您在使用上的相應 操作RemoteObject你應該能夠調用 getOperation()方法,然後cancel()

+0

這很接近,但我期待的是在能夠發送任何東西之前阻止操作。我認爲你的建議getOperation可能開始連接,甚至可以在調用cancel()之前完成。 – 2012-02-28 20:23:09

+1

如果您想在開始之前取消某些內容,你爲什麼不設置一個布爾標誌(AKA CallService),然後在啓動調用之前檢查該標誌? (如果CallService == true){remoteObject.send()} – JeffryHouser 2012-02-28 20:57:24

+0

你的答案很有趣,但我不完全確定你的意思 - 例如,當我調用:remotingService.activityLogService.getRecords(); 「.getRecords()」是PHP端的遠程方法。所以我不確定我會在flex側放置if()部分。 – 2012-03-24 13:16:33

相關問題