我正在尝试代码
function search(query) {
var dfr = $.Deferred();
$.ajax({
url: "http://search.twitter.com/search.json",
data: {
q: query
},
dataType: 'jsonp',
success: dfr.resolve
});
return dfr.promise();
}
Test = {
start: function(){
alert("Starting");
}
};
function gotresults(data) {
alert(data.max_id);
}
function showDiv() {
$('<div />').html("Results received").appendTo('body');
}
$.when(search('ashishnjain'))
.then(gotresults)
.then(showDiv);
Run Code Online (Sandbox Code Playgroud)
这按预期工作.但是当我把它写成:
Test.start()
.then(search('ashishnjain'))
.then(gotresults)
.then(showDiv);
Run Code Online (Sandbox Code Playgroud)
它只是警告"开始"并终止.可以在http://jsfiddle.net/XQFyq/2/找到一个工作示例.我究竟做错了什么?