作者mrbigmouth (拒绝崩溃的蒲公英)
看板Ajax
标题Re: [问题] 储存 fb.api 的 callback 的值
时间Thu Dec 20 15:59:23 2012
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
1F:→ dlikeayu:我来试试!先感谢你的回应!!! 12/20 16:44
2F:→ dlikeayu:啊,只是这样不是变成是自订义的callback去包fb的 12/20 16:48
3F:→ dlikeayu:似乎还是不行只call test.getUser() 就一次拿到值 12/20 16:49
4F:→ dlikeayu:async好恼人啊 >< 12/20 16:51
5F:→ dlikeayu:可能我上篇没说清楚,我想在自订义fnc直接呼叫一次就 12/20 16:51
6F:→ dlikeayu:return 我要的值,不然类似於自订义再callback永远就只 12/20 16:52
7F:→ dlikeayu:能在子method里面去call fnc直接拿值做其它事,而无法 12/20 16:53
8F:→ dlikeayu:存在var, obj, array 等.. 12/20 16:53
9F:→ waneblade:test.getUser().done 少了括孤 async就是没办法一次到位 12/21 03:27
※ 编辑: mrbigmouth 来自: 122.116.190.145 (12/21 09:00)
10F:→ mrbigmouth:如楼上所说 async就是没办法一次到位....你可以想办法 12/21 09:01
11F:→ mrbigmouth:拆fb的程式码改成sync的看看 12/21 09:01
12F:→ dlikeayu:有看到jquery的$.when 但似乎只能吃ajax相关的事件 12/21 09:01
13F:→ mrbigmouth:但这样的後果就是....loading过程里使用者会什麽事都无 12/21 09:01
14F:→ mrbigmouth:法做....连卷卷轴都不行! 12/21 09:01
15F:→ mrbigmouth:$.when可以吃deferred物件啊 但终就还是弄出字定义函 12/21 09:02
16F:→ mrbigmouth:数去包而已 12/21 09:02
17F:→ mrbigmouth:$.when(test.getUser()).done(function(result){ }) 12/21 09:02
18F:→ mrbigmouth:这样跟我给的有啥不同?XD 多此一举 12/21 09:02