|
|
1
0
更新的解决方案:
在尝试使用结果之前,必须等到所有的承诺都得到解决。你可以这样做
上一个答案: 您正在记录API异步调用之外的结果。 Chrome控制台实际上会在异步调用返回结果后更新记录的值(当您注销对象/数组时),这就是第一个日志有结果的原因。但是,第二个是一个原语,因此它在记录时保持为真值,即0。
如果需要正确的输出,请移动
|
|
|
2
1
以下是对异常现象的正确解释(其实并非如此):
在代码中,您要做的是控制台记录在A行初始化的空数组的长度(在上面的代码中标记)。长度是一个原始值,它不是作为引用传递的,而是按值传递的,因此对它的任何更新都不会反映在
|
|
|
3
0
是的,以上两个答案都是正确的。你的代码是异步的。您正在控制台上登录(并在从API获取$scope.datas.releaseData之前使用它) 如果确实要在.then()外部访问$scope.datas.releaseData,请将函数作为回调传递,然后在.then()函数内部调用此函数。 从下面的代码中获取想法:
注意 :以专业的方式使用承诺,因为回调如果使用过多,会导致 回叫地狱 . 但是,如果你真的想理解承诺背后的逻辑,你可以使用或理解回调。 |
|
|
4
0
原因是
“异步代码”
价值
最后一行第二行为控制台编写的代码在执行时没有值,但是在chrome中,如果一个打印对象被展开,它将显示该对象的最新值。为了清楚起见,请尝试用
但最后一行的控制台是一个整数,它显示了执行时对象长度的正确值。 如果希望对象的值在API之外
创建一个函数**(例如processReleaseData())**并在推送代码之后调用它。使用该函数,您将收到变量的值(
|
|
|
jieunbi · 按日期排序数组(最新优先) 4 年前 |