#react-native
#react-native
Вопрос:
Я использую promise.Все, чтобы дождаться завершения методов перед визуализацией компонента.
Я использовал вот так :
constructor(props) {
super(props);
this.controllAll();
}
controllAll() {
Promise.all([this.callFetch()])
.then(([fetchResponse]) => {
console.log('finished', fetchResponse);
})
.catch(err => {
console.log('Mistake:', err);
});
}
callFetch() {
fetch('url', {
method: 'POST',
headers: new Headers({
Accept: 'application/json',
'Content-Type': 'application/json', // <-- Specifying the Content-Type
}),
})
.then((response) => response.text())
.then(leaders => {
this.PutImagesToObject(leaders );
});
}
Я хочу дождаться завершения метода callfetch() перед рендерингом компонента. Но когда я запускаю, сначала в режиме отладки я вижу «готово».
Не нужно ждать завершения метода CallFetch (), чтобы показать мне «готово»
Комментарии:
1.
callFetch
не возвращает обещание, поэтому ждать нечего.2. Что я должен добавить?
3. A
return
. Кроме того, нет причин использоватьPromise.all
, просто вызовите `then.4. Можете ли вы добавить код, потому что я не знаю, как использовать promise, который я только что увидел в Интернете и использовал
Ответ №1:
Попробуйте добавить оператор return
callFetch() {
return fetch('url', {
...