Можно ли возвратить/выключить функцию звонящего i JavaScript?Как выйти из функции вызова в JavaScript?
Мы добавляем методы тестирования в нашу структуру, и мы хотим выйти, если у нас есть ошибка в утверждении.
Учитывая следующий простой пример кода, я хотел бы обменять EXIT_TEST_THAT_CALLED_ME на то, что выйдет (эквивалентно выполнению возврата в тесте) методом Test123.
Assert = function (expectedTrue, comment) {
if(! expectedTrue) {
Log.Error(comment);
EXIT_TEST_THAT_CALLED_ME;
}
}
Test123 (...) {
var inputField = getInputField(".input");
Assert((inputField !== null), "Checking that we found an input field");
inputField.doSomething();
// This row will cause run time error if inputField is null
}
То, что я пытался
возвращение - Конечно, не работает, так как он возвращает только из Утверждая метод
arguments.callee.caller.return - ничего не делает
аргументов. callee.caller.return() - Не имеет метода «возврат»
Примечание
Переход на тестовую платформу, которая уже имеет это и где все хорошо, не является вариантом. . :(
Почему вы не исключение? –
@javapirate Вот что я в итоге сделал. Кажется, это лучший способ. Tnx –