Skip to content

Instantly share code, notes, and snippets.

@petermenocal
Forked from spencerfeng/PlanetsList.js
Created October 11, 2018 15:24
Show Gist options
  • Select an option

  • Save petermenocal/a23fdba0a59b34b6262403a616ff9fa7 to your computer and use it in GitHub Desktop.

Select an option

Save petermenocal/a23fdba0a59b34b6262403a616ff9fa7 to your computer and use it in GitHub Desktop.

Revisions

  1. @spencerfeng spencerfeng created this gist Jul 11, 2018.
    14 changes: 14 additions & 0 deletions PlanetsList.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    import * as Utils from '../utilities'

    class PlanetsListTable extends Component {
    componentDidMount() {
    new Promise((resolve, reject) => {
    Utils.getPlanets('https://swapi.co/api/planets', [], resolve, reject)
    })
    .then(response => {
    this.props.loadPlanetsSuccess(response)
    })
    }

    ...
    }
    17 changes: 17 additions & 0 deletions utilities.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    import axios from 'axios'

    export const getPlanets = (url, planets, resolve, reject) => {
    axios.get(url)
    .then(response => {
    const retrivedPlanets = planets.concat(response.data.results)
    if (response.data.next !== null) {
    getPlanets(response.data.next, retrivedPlanets, resolve, reject)
    } else {
    resolve(retrivedPlanets)
    }
    })
    .catch(error => {
    console.log(error)
    reject('Something wrong. Please refresh the page and try again.')
    })
    }