[問題] 從AMFPHP接收資料的問題 函數傳值傳址뀠…

看板Flash作者 (影特伯)時間13年前 (2010/09/14 15:02), 編輯推噓6(6014)
留言20則, 4人參與, 最新討論串1/1
現在寫一寫不知道怎麼辦= = 陣列我寫在外面是全域變數 AMFPHP應該沒問題 成功後把資料傳送到 var responderpageH = new Responder(onResultpageH, onFaultpageH); function onResultpageH(ResultpageH:String):void { pagecounthigh[page]=ResultpageH; //我在這裡抓的到我的 pagecounthigh[page] } //我在外面這裡就抓不到 pagecounthigh[page]了 變成空值 結果這樣資料抓出來我沒辦法用 總不能都在函數裡面寫吧 Orz 有人有用過能分享一下問題嗎 謝囉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.109.202

09/14 16:49, , 1F
callAFM需要等待回應時間,你必須等amf回應後再讀取
09/14 16:49, 1F

09/14 16:50, , 2F
pagecounthign[page]的值,不然放在外面自然讀不到,因為
09/14 16:50, 2F

09/14 16:51, , 3F
amf還沒回傳值的時候你已經讀pagecounthign[page],所以空值
09/14 16:51, 3F
其實我程式不只寫這些@ @ 以程式流程上來說 應該AMF已經回應了才對 還是有方式判斷是否已經回應了呢? 囧 ※ 編輯: interboard 來自: 140.118.109.214 (09/14 20:18)

09/14 21:02, , 4F
Responder的兩個function是唯一能判斷是否回應成功的方法吧
09/14 21:02, 4F

09/14 21:03, , 5F
有成功跑第一個,失敗跑第二個,應該要把callamf之後的流程寫
09/14 21:03, 5F

09/14 21:04, , 6F
在第一個裡面
09/14 21:04, 6F

09/14 21:12, , 7F
可在這隻Class裡用繼承或複合的方式實現EventDispatcher
09/14 21:12, 7F

09/14 21:13, , 8F
在Responder裡的二個function裡dispatchEvent,這樣就可
09/14 21:13, 8F

09/14 21:14, , 9F
不用被程序綁死,這是比較OO的寫法,可參閱設計模式裡的
09/14 21:14, 9F

09/14 21:14, , 10F
Observer Pattern
09/14 21:14, 10F

09/14 21:33, , 11F
Observer 只是註冊另一個函數 結果還是寫在函數裡吧?
09/14 21:33, 11F

09/14 21:38, , 12F
回樓上,沒錯,但這樣就可以解決原po要把取到值後的事全
09/14 21:38, 12F

09/14 21:38, , 13F
寫在onResultpageH()裡頭 :D
09/14 21:38, 13F

09/14 21:45, , 14F
哦 你是說 註冊多個函數吧?
09/14 21:45, 14F

09/14 21:50, , 15F
唔喔 只看懂一半.. 我想我需再研究..
09/14 21:50, 15F

09/14 21:50, , 16F
如果能寫成監聽事件的方式應該可以??
09/14 21:50, 16F

09/14 21:53, , 17F
回樓上,可以,因為我自己是這樣寫沒問題
09/14 21:53, 17F

09/14 21:54, , 18F
回e大,可以這樣說,但Observer的精神在於打破程序導向的
09/14 21:54, 18F

09/14 21:55, , 19F
思考模式,若是用程序導向就會像原po把程式都塞在
09/14 21:55, 19F

09/14 21:55, , 20F
onResultpageH()裡 一點點心得,請多指教
09/14 21:55, 20F
呃喔 我再研究看看 囧 ※ 編輯: interboard 來自: 220.132.170.88 (09/15 00:56)
文章代碼(AID): #1CZnuVrG (Flash)