Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2019, 19:27
Кандидат Javascript-наук
Отправить личное сообщение для Castromen Посмотреть профиль Найти все сообщения от Castromen
 
Регистрация: 04.02.2015
Сообщений: 114

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
    };
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2019, 06:24
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 966

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

Последний раз редактировалось Malleys, 19.05.2019 в 06:29.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дурак Навсегда! VооDоо Ваши сайты и скрипты 16 18.05.2019 15:49
научите пользоваться массивами!!!! Вася Задунайский Элементы интерфейса 3 09.05.2016 01:09
Как создается function Function(){} ? Cepairda Общие вопросы Javascript 0 10.02.2016 14:03
сабытие Onchange serrrgggeee Javascript под браузер 1 25.09.2014 09:11
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 16:12