Мы вызываем API со страницы входа в систему, а затем переходим на страницу с именем 2fa.При переходе мы вызываем API, который отправляет код 2fa после успешного входа в систему.а затем перенаправить на страницу 2fa.
при входе в систему
is2FASave.save().then((response) => {
if(response.data.is2fa){
this.get('session').setLoginCredential(email,password);
var sendCode = this.store.createRecord('sendCode', {
email: email,
password: password
});
sendCode.save().then((res) => {
this.get('store').unloadAll('sendCode');
this.transitionToRoute('twofa')
},(error)=>{
});
}
}
На странице двойки у нас есть кнопка повторной отправки по ее щелчку, где мы называем тот же API, который записан на контроллере двухфайлов
действия: {
/**
* Resend 2FA code.
*/
twoFaResend: function() {
var email = this.get('session').getEmail(),
password = this.get('session').getPassword();
var sendCode = this.store.createRecord('sendCode', {
email: email,
password: password
});
sendCode.save().then((res) => {
},(error)=>{
});
},
в то время как мы вызываем этот API-интерфейс на странице twofa, он выдает ошибку
Утверждение не выполнено: вы можете выгрузить только запись, которая не является inFlight.<send-code:null>
"
Ошибка отображается, как после нажатия кнопки кода повторной отправки
Когда мы проверяем данные ember, они имеют значение предыдущеговызов API.
Теперь мы также пытались вызывать один и тот же API несколько раз на одной странице, что работает абсолютно нормально. Проблема возникает при переходе на другую страницу и вызове APIна другой странице.