Я хотел бы иметь возможность регистрировать результат условия:
if(time > 5) {
emit Result("time is larger than 5");
} else {
emit Result("time is less than 5");
}
Это будет работать нормально, но при использовании require
инструкции:
require(time > 5);
emit Result("time is larger than 5");
Я могу зарегистрировать событие только в случае require
успеха.
Если require
появляется в модификаторе:
modifier OnlyLargerThan5() {
require(time > 5);
emit Result("time is larger than 5");
_;
}
Есть ли способ зарегистрировать оба случая (больше > 5 > меньше), кроме if..else
утверждений?
Заявление if...else
является полностью допустимым вариантом, и я бы предложил его.
Что-то, что вы можете сделать, если хотите, это включить сообщение в оператор require. Это не будет событием, но будет выглядеть примерно так:
require(time > 5, "time is less than 5");
emit Result("time is larger than 5");
forhas
Шейн Фонтейн
if...else
оператора. Вы не сможете зарегистрировать какие-либо данные, если транзакция будет отменена.forhas
Шейн Фонтейн