$ resource`get`函数如何在AngularJS中同步工作?

$ resource`get`函数如何在AngularJS中同步工作?,第1张

$ resource`get`函数如何在AngularJS中同步工作?

$ resource不是同步的,尽管此语法可能表明它是:

$scope.twitterResult = $scope.twitter.get();

这到底是怎么回事是调用AngularJS会,号召后

twitter.get()
其结果是空数组立即返回。
然后,当异步调用完成并且真实数据从服务器到达时,该数组将使用data更新
。AngularJS只会保留对返回数组的引用,并在有数据时将其填充。

这是发生“魔术”的$
resource实现的片段:https
:
//github.com/angular/angular.js/blob/master/src/ngResource/resource.js#L372

$ resource文档
中也对此进行了描述:

重要的是要意识到调用$
resource对象方法会立即返回一个空引用(对象或数组取决于

isArray
)。从服务器返回数据后,将使用实际数据填充现有引用。这是一个有用的技巧,因为通常资源会分配给模型,然后由视图呈现。如果对象为空,则不会进行渲染,一旦数据从服务器到达,该对象就会被数据填充,并且视图会自动重新渲染以显示新数据。这意味着在大多数情况下,无需为动作方法编写回调函数。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5087076.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存