Promise - TypeError: _this.getDataTeam.then is not a function
Коллеги, добрый вечер.
Подскажите плз. где проблема с Promis-ом Создаю promise, использую его, получаю ошибку TypeError: _this.getDataTeam.then is not a function
getDataTeam = () => {
let promise = new Promise(()=>{
setTimeout(()=>{
console.log("Test")
}, 200)
})
};
renderTeam = () => {
const {data} = this.props;
const allUsers= this.props.allUsers;
if ((allUsers && allUsers !== '') && (data && data !== '')) {
this.getDataTeam
.then(() => this.result(allUsers, data))
.then(() => console.log("Готово"))
} else {
return (
<View><Text>{'Проектов нет'}</Text></View>
)
}
};
result = (usersObj, team) => {
let resObj = {};
let flag = 0;
Object.keys(usersObj).map((val,index,allObj) => {
if (val === Object.keys(team)[flag]) {
flag++;
resObj[val] = usersObj[val]
} else {
}
});
return resObj
};
|
1. Так может промис надо возвратить в getDataTeam?
2. Промис должен выполниться успешно в getDataTeam? 3. И может всё-таки надо вызвать функцию getDataTeam?
getDataTeam = () => {
return new Promise((resolve) => { // добавил тут возвратить промис (1)
setTimeout(() => {
console.log("Test");
resolve(); // добавил тут (2)
}, 200);
});
};
renderTeam = () => {
const { data, allUsers } = this.props;
if (allUsers && data) {
this.getDataTeam() // добавил тут вызов (3)
.then(() => this.result(allUsers, data))
.then(() => console.log("Готово"));
// А в этом случае что возвращается???
} else {
return <View>
<Text>{"Проектов нет"}</Text>
</View>;
}
};
result = (usersObj, team) => {
let resObj = {}, flag = 0;
Object.keys(usersObj).forEach((val, index, allObj) => {
if (val === Object.keys(team)[flag]) {
flag++;
resObj[val] = usersObj[val];
}
});
return resObj;
};
|
| Часовой пояс GMT +3, время: 09:42. |