Я пытаюсь понять концепцию обещания javascript. Но у меня возникают некоторые проблемы. Я установил очень маленький веб-сервис локально (не сердитесь, веб-сервис не соответствует соглашениям). Вот некоторые подробности об этом
/login/<username>/<password>
==> авторизуйтесь в системе, правильный логин и пароль не нужны
если пользователь входит в систему, вызов может быть сделан на /car/<brand>/<color>/<plate_number>
,
Я не выполняю проверку типа цвета, марки, номерного знака
Этот работает отлично, я регистрируюсь и добавляю машину
$.ajax({type: "GET",url: url+"/login/noor/noor"})
.then(function( data, textStatus, jqXHR ) {console.log("login success");},function(){console.log("login error");})
.then($.ajax({type: "GET",url: url+"/car/1/1/1"}))
.then(function(){console.log("car added");},function(){console.log("car not added");});
Этот отлично показывает ошибку, потому что используется недопустимый URL:
$.ajax({type: "GET",url: url+"/carasdsad/1/1/1"})
.then(function(){console.log("car added");},function(){console.log("car not added");});
"/carasdsad/1/1/1" является недопустимым URL-адресом, и возвращается автомобиль не добавлен.
У меня проблема с этим. Код ниже использует код чуть выше. Я ожидал, что будет показано автомобиль не добавлен, а оказалось автомобиль добавлен.
$.ajax({type: "GET",url: url+"/login/noor/noor"})
.then(function( data, textStatus, jqXHR ) {console.log("login success");},function(){console.log("login error");})
.then($.ajax({type: "GET",url: url+"/carasdsad/1/1/1"}))
.then(function(){console.log("car added");},function(){console.log("car not added");});
Приведенный выше код возвращает автомобиль добавлен, хотя "/carasdsad/1/1/1" является недопустимым URL-адресом во втором вызове.