如果我为了争论而这样做:
$.when(
$.getJSON('http://myUrlOne/?format=json'),
$.getJSON('http://myUrlTwo/?format=json')
).then(function () {
// how can i merge the response from both json requests before processing them
});
这两个 url 都在 twitter api 上,但一个是关键字搜索,一个是常规用户时间线调用。
我正在尝试修改 twitter 插件,通过搜索 @username(在第二个 json 请求中)显示用户名时间线(在第一个 json 请求中)和 @username 提及
请参阅我要修改的当前函数以调用 2 个 url 并在处理数据之前合并数据:
$.getJSON(build_api_url(), function(data){
var tweets = $.map(data.results || data, extract_template_data);
tweets = $.grep(tweets, s.filter).sort(s.comparator).slice(0, s.count);
$(widget).trigger("tweet:retrieved", [tweets]);
});
这不起作用:
$.when(
$.getJSON(build_api_url(),
$.getJSON(build_user_url()
).done( function(json1, json2) {
var data = $.extend(json1, json2)
// json1 and json2 represent the returned json, so just combine them as needed here
var tweets = $.map(data.results || data, extract_template_data);
tweets = $.grep(tweets, s.filter).sort(s.comparator).slice(0, s.count);
$(widget).trigger("tweet:retrieved", [tweets]);
});