Async/a a a a a a a a a a a a enaiq – новый синтаксис для написания асинхронного кода в JavaScript. Поддержка была добавлена в React Nature 0.10, и теперь достигается TC39 Stage 3 (кандидат).
Пример
В этом примере используя обещание возвращающегося извлечения полифилл. Мы будем отображать RACT NORY Github Star Count.
const URL = "https://api.github.com/repos/facebook/react-native"; class StarCount extends Component { constructor() { super(); this.state = {stars: "?"}; } componentDidMount() { this.fetchData().done(); } async fetchData() { const response = await fetch(URL); const json = await response.json(); const stars = json.stargazers_count; this.setState({stars}); } render() { return (); } } React Native has {this.state.stars} stars
Async/a enaiq работает с любым обещанием, основанным на API или одним из ваших творений.
const getStars = () => new Promise(resolve => { const FIVE_SECONDS = 5000; // Simulate async operation setTimeout(() => resolve(1234), FIVE_SECONDS); }); const fetchData = async () => { const stars = await getStars(); // Do something with stars };
Оригинал: “https://dev.to/daleljefferson/es7-async-await-with-react-native-ica”