Вы дважды вызываете «Navigation.findNavController (view) .navigate»:
private void makeTransfer(View view) {
Bundle bundle = new Bundle();
bundle.putString("name", "Aleksey");
Navigation.findNavController(view).navigate(R.id.transferAction, bundle);
//Type safe passing data
InitialFragmentDirections.TransferAction action = InitialFragmentDirections.transferAction();
action.setLastName("Petrov");
Navigation.findNavController(view).navigate(action);
}
Первый раз с пакетом и второй раз с безопасными аргументами, но после первого вызова ваш пункт назначения уже изменился на ' nextFragment ', и когда вы вызываете второй «навигационный» «NavController», который ищет действие «transferAction» внутри «nextFragment» и генерирует исключение.
При ошибке вы сначала отправляете an error occured
, а затем снова отправляете successfully added
. Вы не можете этого сделать, вы можете отправить ответ клиенту только один раз.
Вам необходимо прекратить выполнение кода после отправки сообщения об ошибке.
Joi.validate(req.body, schema, (err, result) => {
if(err){
console.log(result)
return res.send('an error occured');
}
console.log(result)
//Perform knex insert into db
res.send("successfully added");
})