async / await работает с реальными данными, но не с локальными тестовыми данными - PullRequest
0 голосов
/ 04 сентября 2018

https://snack.expo.io/@haosmark/kw-companion2

в файле api.js, когда в строке 17 я установил для debugMode значение false, приложение работает без сбоев. Он извлекает список игроков, комнат и матчей, однако, если для него установлено значение debugMode false, приложение отображает 0 игроков в сети и дублирует активное совпадение на вкладках «Размещенные комнаты» и «Активные игры». Как правильно смоделировать сетевой запрос с поддельными данными? Выше приведен полный код, а ниже приведена рассматриваемая функция:

  export const fetchDataAsync = async () => {
  playerList = {};
  activeGames = {};
  stagingRooms = {};

  //console.log('fetching data')
  if (debugMode) {
    result = await mockDataSmall.cnc3kw;
  } else {
    const response = await fetch(url);
    result = (await response.json()).cnc3kw;
  }

  //console.log('here0')
  Object.keys(result.users).map(parsePlayers);
  result.games.playing.map(parseRooms(ACTIVE_MATCH));
  result.games.staging.map(parseRooms(STAGING_ROOM));

  //console.log('here1')
  if (debugMode) {
    new Promise((resolve, reject) => {
      setTimeout(() => {
        resolve('success');
      }, 1000);
    });
  }
  //console.log('here2')
  return { playerList, activeGames, stagingRooms };
};

fakeData в том же формате, что и живые данные, но меньший образец

...