gpt4 book ai didi

javascript - 在 AngularJS 中重写变量

转载 作者:行者123 更新时间:2023-11-29 18:04:29 26 4
gpt4 key购买 nike

我有我的变量 mydata,我在 $http.post 中重写了它。我想知道如何访问 $http.post 之外的变量 mydata。如果我执行 console.log(mydata); 我会收到错误 undefined

.controller('MapCtrl', function ($scope, $ionicSideMenuDelegate, $cordovaGeolocation,$http) {

var mydata;

$http.post('http://example.com').then(function(resp) {

mydata = resp.data['somedata'];

}, function(err) {
.....
})

console.log(mydata);
})

最佳答案

$http.post 是一个异步调用。当您在 mydata 上调用 console.log() 时,它尚未加载,因此是 undefined

变量 mydata 在 Controller 范围内,因为你在那里定义了它,所以你可以访问它,只是它还没有分配给 resp.data['somedata'] 在你调用 console.log()

的那一刻

如果您在控制台日志周围放置一个超时,例如setTimeout(function(){ console.log(mydata) }, 100),您将看到数据.

关于javascript - 在 AngularJS 中重写变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32403440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com