У меня есть следующая проблема, когда метод SaveChanges breeze js (1.4.2) обрабатывает обещание «then» до завершения операции сохранения.breeze js сохранение изменений завершается до сохранения
save()
{
this.manager.SaveChanges()
.then(process);
}
function process()
{
var baseUri = "api/DoServerProcessingOnNewData";
$.getJSON(baseUri, data =>
{
// Save operation is still running, and server processes old data
this.items(data)
})
}
Я бы ожидал, что «то» часть обещания будет выполнена после того, как SaveChanges полностью завершит? это ожидаемое поведение, могу ли я обнаружить, когда операция сохранения действительно завершена?
Какие доказательства вы видите, что SaveChanges не завершили? – RockResolve
метод api сервера, вызываемый в процессе func, получает старые данные i.e, прежде чем произойдет спасение. Также теперь видно, что после сохранения идентификатор объекта не фиксируется после завершения «then» после сохранения изменений. если я добавлю паузу, то есть дождитесь завершения изменений сохранения, все работает нормально, но я должен опираться на обещание «затем», чтобы уведомить меня об этом. –
Извините, я не могу воспроизвести поведение, которое вы видите. Вы уверены, что вы называетесь EntityManager.saveChanges (строчные буквы s)? –