Javascript 反应承诺返回未定义
我有一个返回数组的函数Javascript 反应承诺返回未定义,javascript,reactjs,promise,undefined,Javascript,Reactjs,Promise,Undefined,我有一个返回数组的函数 myfunc: func(){ myArr = ['hello'] //does other things return myArr; } 在顶部,我调用这个函数 this.myfunc(); }).then((myArr) => { this.setState({myArr: myArr}); console.log(myArr); }); 为什么myArr被记录为未定义?返回数组的内容是否应该
myfunc: func(){
myArr = ['hello']
//does other things
return myArr;
}
在顶部,我调用这个函数
this.myfunc();
}).then((myArr) => {
this.setState({myArr: myArr});
console.log(myArr);
});
为什么myArr被记录为未定义?返回数组的内容是否应该设置为promise中的状态
和往常一样,我尝试发布最少的代码,但可以添加更多。
我试图用承诺和设定状态,并在react中改变这种状态。由于某些原因,此时未定义此函数您的函数未返回承诺。我认为这是可行的:
let p = new Promise(function(resolve, reject)) {
resolve(['hello']);
}
p.then(function(value) {
setState({key: value});
console.log(value);
});