我有一个react类,我正在从商店中调用getData函数
class A extends React.component {
componentDidMount(){
Store.getData(a).then(data =>{
//some data
});
}
render (){
//some data
}
}
商店中的功能是
getData : function (a) {
return (a+b);
}
当我跑步时出现错误
Uncaught TypeError: Store.getData(a).then is not a function
我如何纠正它?
答案 0 :(得分:1)
函数then
用于处理已解决的promises。在您的代码函数getData
中,只返回a+b
的结果(即不使用任何承诺)。如果你想使用then
进行其他操作,你应该更新getData
函数,以便它使用promises,尽管在你的情况下不清楚为什么你不能立即使用函数的结果。
以下是您如何使用承诺:
getData : function (a) {
return new Promise(function(resolve, reject){
resolve(a + b);
});
}
但是你的函数getData
不是异步的,所以你可以直接在类构造函数中使用函数getData
的结果:
class A extends React.component {
componentDidMount() {
var yourData = Store.getData(a);
// do what you need with this data
}
// the rest of your class
}