【发布时间】:2016-01-13 01:30:34
【问题描述】:
我的这个简单问题没有太多答案。我的主要问题是我已经看到 .then 方法在 JavaScript 中使用了很多,我知道 randomobject.then(//This returns success, //this returns failure) 的主要内容。但是有些东西我没有得到,比如这里的代码:
var success = function (response) {
return response.data;
};
var error = function (errResponse) {
$log.error(errResponse.data.Message);
};
function getsomeData() {
var url = baseUrl + 'api/somedata';
return $http.get(url).then(success, error);
}
首先在该代码中,我想知道 var success 是如何知道它正在获取什么数据并且与错误相同。它说 response.data 但什么是响应?这可能是http.get 的结果,但这在代码方面没有多大意义。例如,当我有一个功能时,似乎也是如此。
getsomeData 返回它返回的内容。如果我做ff,为什么它不起作用:
var dataHolder = randomAngularService.getsomeData()
它返回一个对象,该对象包含$$state 下的数据,但是如果您执行 ff,.then 会以某种方式使其工作:
randomAngularService.getsomeData().then(function (response) {
if(response != null) {
console.log('got the data');
$scope.meeData = response;
}
});
我以为.then 只需要两个参数?这让我感到困惑。
.then 属性也是 JavaScript 方法还是 jQuery 方法?
【问题讨论】:
-
稍微了解一下 promises...
-
并阅读有关使用函数引用的信息
-
这些是您正在寻找的机器人...promisesaplus.com
-
好的,我现在对promise对象有了基本的了解。但是没有人回答我的第二个问题,为什么 var dataHolder = randomAngularService.getsomeData();不像在 c# 中那样工作,但它会完美地使用带有 promise 对象的函数获取数据?我无法理解这一点。
标签: javascript jquery angularjs