Re: [問題] 儲存 fb.api 的 callback 的值

看板Ajax作者 (拒絕崩潰的蒲公英)時間12年前 (2012/12/20 15:59), 編輯推噓0(0018)
留言18則, 3人參與, 最新討論串2/2 (看更多)
var test = { getUser: function(){ var result = new $.Deferred(); fb.api('/me', function(r){ test.getUserResult = r; result.resolve(r); }); return result; } } test.getUser().done(function(result) { //在這裡使用result }); 以jQuery的Deferred物件用起來大概就像這樣吧 沒特別仔細想,也許有其他方法 但差不多就像這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.190.145

12/20 16:44, , 1F
我來試試!先感謝你的回應!!!
12/20 16:44, 1F

12/20 16:48, , 2F
啊,只是這樣不是變成是自訂義的callback去包fb的
12/20 16:48, 2F

12/20 16:49, , 3F
似乎還是不行只call test.getUser() 就一次拿到值
12/20 16:49, 3F

12/20 16:51, , 4F
async好惱人啊 ><
12/20 16:51, 4F

12/20 16:51, , 5F
可能我上篇沒說清楚,我想在自訂義fnc直接呼叫一次就
12/20 16:51, 5F

12/20 16:52, , 6F
return 我要的值,不然類似於自訂義再callback永遠就只
12/20 16:52, 6F

12/20 16:53, , 7F
能在子method裏面去call fnc直接拿值做其它事,而無法
12/20 16:53, 7F

12/20 16:53, , 8F
存在var, obj, array 等..
12/20 16:53, 8F

12/21 03:27, , 9F
test.getUser().done 少了括孤 async就是沒辦法一次到位
12/21 03:27, 9F
※ 編輯: mrbigmouth 來自: 122.116.190.145 (12/21 09:00)

12/21 09:01, , 10F
如樓上所說 async就是沒辦法一次到位....你可以想辦法
12/21 09:01, 10F

12/21 09:01, , 11F
拆fb的程式碼改成sync的看看
12/21 09:01, 11F

12/21 09:01, , 12F
有看到jquery的$.when 但似乎只能吃ajax相關的事件
12/21 09:01, 12F

12/21 09:01, , 13F
但這樣的後果就是....loading過程裡使用者會什麼事都無
12/21 09:01, 13F

12/21 09:01, , 14F
法做....連捲卷軸都不行!
12/21 09:01, 14F

12/21 09:02, , 15F
$.when可以吃deferred物件啊 但終就還是弄出字定義函
12/21 09:02, 15F

12/21 09:02, , 16F
數去包而已
12/21 09:02, 16F

12/21 09:02, , 17F
$.when(test.getUser()).done(function(result){ })
12/21 09:02, 17F

12/21 09:02, , 18F
這樣跟我給的有啥不同?XD 多此一舉
12/21 09:02, 18F
文章代碼(AID): #1GqiLT7f (Ajax)
文章代碼(AID): #1GqiLT7f (Ajax)