如何在$ promise之外获得价值

时间:2015-05-06 10:13:37

标签: javascript angularjs

我曾经在api调用之外使用$ promise值,但是我的定义是未定义的。请帮助我如何在外面获得价值。

getPeople($scope.selectedId).fetch({
          }).$promise.then(
              function (value) {
                  $scope.peopledata = value.data[0];
                  console.info($scope.peopledata); // here I can get data
              },
              function (err) {
              });

console.info($scope.peopledata); //但在这里我得到了未定义的

如何在外面获取数据?

1 个答案:

答案 0 :(得分:2)

我认为你对Promise是什么以及它们如何运作感到困惑。

getPeople调用后的语句会立即执行,而promise可能尚未解析(请记住,它是异步的)。因此,您试图在控制台上未初始化的位置显示某些内容。使用异步函数时,代码顺序本身并不重要。

根据您发布的内容,您的代码按预期工作。另见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise