无法理解 Promises

Cannot get my head around Promises

我在编写代码时甚至不知道什么是异步 - 这是在项目开始时我对整个编程还不熟悉的时候。

现在我当然明白它们是什么了。但是,我无法理解 Promises。我有一个 /session 异步调用,当我调用它时,会向我传递一些配置文件变量,但我不知道如何完成它。我已经按照教程学习并迷失在其中。

谁能指出应该如何一劳永逸地写这个?我将永远感激不已:

var getProfileID = function(){
    $http.get('/session')
        .then(function(res){
            return res.data.profileId;
        });
};

getProfileID()
.then(function(res) {
    $scope.profileID = res;
});

这对我来说看起来很不对,但我对 Promises 一无所知,不知道从哪里开始。

PS: 我正在使用 Angular 1.6.4 并注入了 $q

提前致谢!

你应该 return Promise 直接从你的函数返回。

var getProfileID = function(){
  return $http.get('/session');
};

然后将其与如下响应一起使用:

getProfileID().then(function(res) {
  $scope.profileID = res.data.profileId;
})