Скажем, есть функция, которая выполняет сложные / длительные операции:
const somethingMoreComplexSync = value => {
let stupidString = value;
for (let i = 0; i < 100000000; i++) {
stupidString = i % 2 === 0 ? stupidString + "1" : stupidString.slice(0, -1);
}
return stupidString;
};
(Эта функция на самом деле просто возвращает value
, который был передан в качестве параметра)
Теперь представьте, что вы хотите вызвать эту функцию, как только вы введете что-то в поле ввода:
const MyComponentSync = () => {
const handleChange = e => {
const complexValue = somethingMoreComplexSync(e.target.value);
console.log(complexValue);
};
return (
<label>
Sync
<input onChange={handleChange} />
</label>
);
};
Таким образом, каждый раз, когда вы вводите символ, onChange
будет срабатывать, таким образом, somethingMoreComplexSync
будет срабатывать.
Этот вопрос здесь: Имеет ли смысл делать somethingMoreComplexSync
asyn c?
Насколько я могу представить, события в любом случае называются asyn c ? (Это правда?)
См. codesandbox , которая также содержит асин c реализацию вышеуказанного.