【发布时间】:2014-09-01 20:01:52
【问题描述】:
我一直在尝试设置一个简单的 promise 异步结构来从 http 请求返回 json 返回的对象,但我找不到任何好的示例。我确定我做错了什么,但我无法理解它。
这是我正在尝试的:
getjsonObjAsync(): any {
var deferred: ng.IDeferred<any> = this.$q.defer();
$.ajax({
url: AppSettings.jsonObjUrl,
type: 'get',
})
.then((result) => {
deferred.resolve(result);
})
return deferred.promise;
}
当我调用这个方法时,它会返回
Object {then: function, catch: function, finally: function}
catch: function (callback) {
finally: function (callback) {
then: function (callback, errback, progressback) {
__proto__: Object
但我希望它返回我从 http 请求中获得的 json 对象,我可以查看是否在此处添加 console.log(result):
})
.then((result) => {
console.log(result)
deferred.resolve(result);
})
似乎我错误地使用了 $q 系统,但我想不出正确的方法来返回 json 对象。
我尝试按照此处的示例进行操作: https://stackoverflow.com/a/23572025/3757782 但它仍然无法从请求中返回 json 对象
谢谢!
【问题讨论】:
标签: javascript json angularjs typescript q