作者interboard (影特伯)
看板Flash
標題[問題] 從AMFPHP接收資料的問題 函數傳值傳址問題?
時間Tue Sep 14 15:02:51 2010
現在寫一寫不知道怎麼辦= =
陣列我寫在外面是全域變數
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
1F:推 hpuser:callAFM需要等待回應時間,你必須等amf回應後再讀取 09/14 16:49
2F:→ hpuser:pagecounthign[page]的值,不然放在外面自然讀不到,因為 09/14 16:50
3F:→ hpuser:amf還沒回傳值的時候你已經讀pagecounthign[page],所以空值 09/14 16:51
其實我程式不只寫這些@ @
以程式流程上來說 應該AMF已經回應了才對
還是有方式判斷是否已經回應了呢? 囧
※ 編輯: interboard 來自: 140.118.109.214 (09/14 20:18)
4F:→ hpuser:Responder的兩個function是唯一能判斷是否回應成功的方法吧 09/14 21:02
5F:→ hpuser:有成功跑第一個,失敗跑第二個,應該要把callamf之後的流程寫 09/14 21:03
6F:→ hpuser:在第一個裡面 09/14 21:04
7F:推 MagicYan:可在這隻Class裡用繼承或複合的方式實現EventDispatcher 09/14 21:12
8F:→ MagicYan:在Responder裡的二個function裡dispatchEvent,這樣就可 09/14 21:13
9F:→ MagicYan:不用被程序綁死,這是比較OO的寫法,可參閱設計模式裡的 09/14 21:14
10F:→ MagicYan:Observer Pattern 09/14 21:14
11F:推 etrexetrex:Observer 只是註冊另一個函數 結果還是寫在函數裡吧? 09/14 21:33
12F:推 MagicYan:回樓上,沒錯,但這樣就可以解決原po要把取到值後的事全 09/14 21:38
13F:→ MagicYan:寫在onResultpageH()裡頭 :D 09/14 21:38
14F:推 etrexetrex:哦 你是說 註冊多個函數吧? 09/14 21:45
15F:→ interboard:唔喔 只看懂一半.. 我想我需再研究.. 09/14 21:50
16F:→ interboard:如果能寫成監聽事件的方式應該可以?? 09/14 21:50
17F:推 MagicYan:回樓上,可以,因為我自己是這樣寫沒問題 09/14 21:53
18F:→ MagicYan:回e大,可以這樣說,但Observer的精神在於打破程序導向的 09/14 21:54
19F:→ MagicYan:思考模式,若是用程序導向就會像原po把程式都塞在 09/14 21:55
20F:→ MagicYan:onResultpageH()裡 一點點心得,請多指教 09/14 21:55
呃喔 我再研究看看 囧
※ 編輯: interboard 來自: 220.132.170.88 (09/15 00:56)