gpt4 book ai didi

javascript - 访问回调内的变量

转载 作者:行者123 更新时间:2023-11-28 05:41:56 27 4
gpt4 key购买 nike

我在一个 React 应用程序中并使用 axios 调用电话:

   import axios from 'axios';

export default {
getData : function(callback){

var instance = axios.create({
baseURL: '//abc/json',
withCredentials: false
});

instance.get('')
.then((response) => {
callback(response.data.abc);
}, (error) => {
callback(error)
});
}
}

在另一个文件中,我正在执行以下操作:

import file from './file';


//class definition...

componentDidMount(){

var obj = {}
var res = file.getData(function(abc){
obj['abc'] = abc;
});

console.log('obj-abc ', obj.abc); //returns undefined
}

如上所示,我一直处于未定义状态。我基本上希望该变量在全局范围内可用。我在该网站上查看了有关回调的其他建议,但没有一个可以帮助我。

如有任何帮助,我们将不胜感激。

最佳答案

简单来说

componentDidMount(){

var obj = {}
var res = file.getData(function(abc){
obj['abc'] = abc;
console.log('obj-abc ', obj.abc);
});

由于getData方法是异步的,因此在javascript代码中不一定会顺序执行。该变量已经是全局变量,但如果您想确保可以在它之后使用它,请在继续执行代码之前添加某种完成条件。

关于javascript - 访问回调内的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850831/

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