这是我的代码
var exchange = angular.module('app', []);
exchange.controller('ExchangeController', ExchangeController);
function ExchangeController($scope, $http) {
$scope.items = [];
$http
.get(window.location.origin + "/api/get-item/", {
transformRequest: angular.identity,
headers: {'Content-Type': undefined, 'Process-Data': false}
})
.then(function(response){
$scope.items = response.data.items;
console.log($scope.items);
});
console.log($scope.items);
}
在这里,我的第一个控制台日志正常工作,但是第二个显示未定义。为什么?
写的第二个console.log($scope.items);
应将一个空数组记录到控制台。这样做的原因是$http.get
正在执行异步调用。这导致该then
块的代码执行被推迟到http请求完成之前,并允许其余代码继续执行。如果这是您对异步代码的首次介绍,建议您阅读angular的文档-请参阅常规用法。并在整个Java中承诺。
还要考虑我为您编写的有关演示异步操作的示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句