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, время: 19:26. |