Как выдать alert и перезапустить приложение при слишком долгой работе функции?
Есть калькулятор ,работающий через expo.Есть функция ,которая выполняет подсчет. Однако если ввести туда очень большое выражение с факториалом например, калькулятор зависнет намертво, как в случае например если функция подсчёта работает больше 3-5с и не выдает результат выдать ошибку и перезагрузить/ выкинуть из приложения
const getResult = () => {
return (<TextInput
onContentSizeChange={x => {
//console.log(x)
}}
editable={true}
style={styles.expression}
multiline={true}
keyboardType={"number-pad"}
textAlign="right"
textAlignVertical="top"
>{highlight(expr)}</TextInput>
)
}
const Display = () =>
<View style={styles.display}>
{}
{getResult()}
{}
</View>
Вот сама функция, что возвращает результат Я пробовал сделать Поставил
var t0 = performance.now();
перед getResult() и
var t1 = performance.now();
if (t1-t0>0.01) {
BackHandler.exitApp();
}
console.log("Call to doSomething took " + ( t1-t0) + " milliseconds.")
после Display() однако когда приложение зависает, оно не возвращает время конца работы функции ,поэтому и выход из приложения не срабатывает, помогите исправить пожалуйста.