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);
});