【发布时间】:2014-06-27 02:52:13
【问题描述】:
我有一个这样的服务助手设置:
var service = {
getSettings: function () {
var that = this,
deferred = $.Deferred();
that.getThingOne().done(function (data) {
that.getThingTwo(data.Element).done(function (data) {
deferred.resolve(data);
});
});
return deferred.promise();
},
getThingTwo: function (elm) {
return $.getJSON('http://ajax-call-here');
},
getThingOne: function () {
var deferred = $.Deferred();
navigator.geolocation.getCurrentPosition(deferred.resolve, deferred.reject, {
enableHighAccuracy: true
});
return deferred.promise();
}
};
当我调用它做这样的事情时,我永远不会到达下面。怎么回事?
service.getSettings().done(function(data) {
// never reach here
});
【问题讨论】:
-
我看不出你的逻辑有什么问题。您是否插入了
console.log()语句并在您停止看到进展之前找出您的进展程度? -
@aherrick,你搞定了吗?
标签: javascript jquery promise jquery-deferred