function(e) {
sum += + e.value;
}
a += b;
равносильно a = a + b;
+e.value
короткий способ конвертировать строку в число. function fetchData() {
return new Promise(resolve => {
usersRef.on('child_added', snap => {
const { data, user_id, production } = snap.val();
resolve({
data,
user_id,
production,
});
});
});
}
componentDidMount(){
fetchData().then(data => {
this.setState({ data });
});
}
import spinePng3 from './ships/skeleton.png';
import spineAtlas3 from './ships/skeleton.atlas';
import spineJSON3 from './ships/skeleton.json';
class Category extends React.Component {
papermintRef = React.createRef();
// инициализация при монтировании
componentDidMount() {
Peppermint(this.papermintRef.current);
}
// повторная инициализация при обновлении
componentDidUpdate() {
Peppermint(this.papermintRef.current);
}
// отключение обновления компонента(при необходимости)
shouldComponentUpdate() {
return false;
}
render() {
return(
<div className={c.category}>
<div ref={this.papermintRef} className="peppermint peppermint-inactive">
// ...
</div>
</div>
);
}
}
new Promise(resolve => {
console.log(1);
resolve(4); // вызов колбека, переданного в then, ставится в очередь
}).then(console.log);
new Promise(resolve => {
console.log(2);
resolve(5); // вызов колбека, переданного в then, ставится в очередь
}).then(console.log);
console.log(3);
// выполняется первый помещенный в очередь колбек
// выполняется второй помещенный в очередь колбек
// Результат:
// 1
// 2
// 3
// 4
// 5
setTimeout или setImmediate что бы код так скажем разбить на более мелкие куски.
если есть какой то большой процесс, что бы в нем можно было сделать паузу и делать мелки дела.
Ну например (глупый и банальный пример) пользователь отправил на сервер что то на вычисления, вычисления делаются долго, и если мы сделаем что асинхроно. например отправим это вычисление в конец очереди исполнения, то те кто ждут простой запрос их быстро выполнят, и им не так долго ждать, а для долгого процесса это не так уж и бдел заметно.
Достаточно было забирать именно данные: