Задать вопрос
@historydev
Редактирую файлы с непонятными расширениями

Почему ответ промиса пустой?

Добрый вечер.Подскажите пожалуйста.Я пытаюсь достать информацию с сервера используя промис,но ответы приходят пустые.

Клиент:
const sendMenu = ms => {
				return new Promise(r => setTimeout(() => r(), ms))
			}

			const url = 'http://localhost:3000/menu'

			function fetchTodos() {
				console.log('Fetch todo started...')
				return sendMenu(2000).then(() => {
					return fetch(url)
				})
				.then(response => response)
			}

			fetchTodos()
				.then(data => {
					console.log('Data: ',data)
				})
				.catch(e => console.error(e))


Сервер:
app.post('/menu', (req,res) => {

		let viewmenu;

		connection.query('SELECT * FROM menu', (err, result) => {
			  if(err) {
			    console.error(err);
			    return;
			  }

			  const index = result.reduce((acc, row) => ({...acc, [row.id]: row}), {});
					var menu = [];
					for(const row of result) {
					    if(row.parent_id === 0) {
					      menu.push(row);
					      continue;
					    }
					    const parent = index[row.parent_id];
					    if(!parent) {
					      console.warn(`Undefined parent with id ${row.parent_id}`);
					      continue;
					    }
					    if(!parent.children) {
					      parent.children = [];
					    }
					    parent.children.push(row);
					    
			  }

			  viewmenu = menu;

		});

		const sendMenu = ms => {
			return new Promise(r => setTimeout(() => r(), ms))
		}

		sendMenu(200).then(() => res.send(viewmenu))

})

5dc9a8db1a420266971493.png
  • Вопрос задан
  • 62 просмотра
Подписаться Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Потому что сначала уходит ответ, сервера, а потом происходит получение данных из базы. Переместите код ответа внутрь коллбэка получения данных из базы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 14:45
25000 руб./за проект
18 дек. 2024, в 14:43
25000 руб./за проект
18 дек. 2024, в 14:22
750 руб./за проект