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”