javascript, объект, передавая функцию в качестве аргументов с аргументами - угловая, концепция jquery - основное недоразумение

Я пытаюсь понять, что я действительно делаю, так как чувствую, что мне недостает чего-то. Не могли бы вы указать мне где-нибудь или подтвердить мое неправильное понимание?

request.then(function(response) {
        updateCurrentUser(response.data.data);
        currentUser.isAuthenticated();
      });

В основном это?

request = {
    then : function (foo){
        foo("first")
    } }

request.then(function (response) { console.log(response) ; });

Если вы видите полный код здесь # 35 и здесь # 63

директива:

    AuthenticationService.login($scope.user.email, $scope.user.password).then(function(loggedIn) {
      if ( !loggedIn ) {
        $scope.authError = "Login failed.  Please check your credentials and try again.";
      }
    });

АутентификацияСервис как завод:

login: function(email, password) {
  var request = $http.post('http://', {email: email, password: password});
  return request.then(function(response) {
    updateCurrentUser(response.data.data);
    return currentUser.isAuthenticated();
  });

},

Я не понимаю, почему значение переменной loggedIn равно значению , что оператор возвращает currentUser.isAuthenticated (); возвращая И НЕ равно , затем (функция (ответ) оригинала, так как я возвращаю обещание от AuthenticationService. И как это можно было бы сделать в отношении приведенных выше примеров?

Спасибо.

2
nl ja de
Вы спрашиваете, как передать переменную foo в .then (function (foo) {?) Для таких функций вам понадобится немного более сложная функция: jsfiddle.net/XaYXY .
добавлено автор pimvdb, источник
Непонятно, что вы спрашиваете здесь.
добавлено автор Pointy, источник
я постараюсь переформулировать, спасибо
добавлено автор Jakub Kuchar, источник
hmm..not. В request.then (function (response) .. в ответ давайте скажем значение «A». Затем я возвращаю этот запрос и снова делаю request.then (функция (loggedIn), а теперь в loggedIn имеет значение «B». что currentUser.isAuthenticated() возвращается ... как получилось?
добавлено автор Jakub Kuchar, источник

1 ответы

Я думаю, что проблема с концепцией возникает из-за того, что вы игнорировали оператор return . Что такое AuthenticationService.login , на самом деле является закрытием с предопределенным запросом, поэтому вы можете предположить, что login заменяется его возвращаемым значением request.then (function (response) {... . Тогда вы можете просто вывести, что вся строка кода:

AuthenticationService.login($scope.user.email, $scope.user.password).then(
function(response)
{
    updateCurrentUser(response.data.data);
    return currentUser.isAuthenticated();
}).then(
function(loggedIn)
{
  ...

Таким образом, вы можете увидеть, что результат от ответа должен появиться как вход для следующего шага с проверкой входа.

2
добавлено
черт возьми, да, может быть .. но я до сих пор не понимаю этого. Не могли бы вы быть более подробными?
добавлено автор Jakub Kuchar, источник
черт возьми, да, я понял: Поскольку при вызове api обещания возвращается новое производное обещание, легко создать цепочку обещаний: и следующие работы: $ http.get ( «http: //»). then (function (greet) {console.log (greet), return «something else»}), затем (function (greet2) {console.log (greet2);});
добавлено автор Jakub Kuchar, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Angular — русскоговорящее сообщество
Angular — русскоговорящее сообщество
3 960 участник(ов)

Общаемся на темы Angular 4+, его экосистемы, TypeScript, NativeScript и т.д. По вопросам SSR, Angular Universal @angular_universal_ru См. также: @typescript_ru, @react_js, @nodejs_ru, @js_ru Вакансии и поиск работы: @javascript_jobs

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

Software Design and OOP
Software Design and OOP
1 481 участник(ов)

OOP, software design, architecture, GRASP, GoF, SOLID, separation of concerns, безысходность. Пожалуйста, придерживайтесь указанных тем. https://oopru.github.io More cool stuff: @fp_ru @tdd_ru @coding_interview_ru @coding_ru

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

Angular.js (1.x) — русскоговорящее сообщество
Angular.js (1.x) — русскоговорящее сообщество
704 участник(ов)

Общаемся и обсуждаем темы, посвященные Angular 1.x и экосистеме.

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском

AngularJS, Javascript
AngularJS, Javascript
370 участник(ов)

Angularjs russian chat