如何访问JSON对象.$$ state.value?

Ray*_*ang 6 javascript json angularjs

警告:我听起来好像不知道我在这里说的是什么,因为我有点不喜欢.我正在通过大量的试错编码自学Javascript和AngularJS.

我有一些javascript代码(犹豫要复制在这里因为它是一团糟)返回一个具有以下结构的Object: 在此输入图像描述

我想保存到变量的是对应于图片中的Object.$$ state.value的对象.这个对象有用户名,哈希和盐,这是我关心的.我不知道所有其他像$$州的东西是什么,或者他们是如何到达那里的.

但是,如果我这样做(让我们调用主对象"whatIHave"):

var whatIWant = whatIHave.$$state.value;
Run Code Online (Sandbox Code Playgroud)

这不起作用.whatIWant是null.

有谁知道这里发生了什么?什么是$$状态,它是如何实现的,以及如何提取我想要的值?

Jes*_*uez 15

所以这是一个承诺.你需要做一些事情:

whatIHave.then(function(whatIWant) {
  // Work here
});
Run Code Online (Sandbox Code Playgroud)

我强烈建议你研究一下它的承诺(比如这个链接)

如果你很好奇,关于那是什么$$state以及那是什么value,我会解释一下:

承诺有一个$$state和那里angular保存你想要在一个pending数组中调用的所有回调函数(所有那些你注册的函数,.then就像我之前解释的那样).

它还具有以下状态:已解决(1)和拒绝(2)

最后,当您resolvereject承诺时,您在执行此操作时传递的值将保存在value.

你试图在这里作弊,因为当你试图访问它时value,它可能还没有(这async就是全部).

因此,我们的想法是学习承诺的基础,学习如何使用它们,然后whatIHave正确使用它们.