Как выдать 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() однако когда приложение зависает, оно не возвращает время конца работы функции ,поэтому и выход из приложения не срабатывает, помогите исправить пожалуйста.


Ответы (0 шт):