【问题标题】:What is the difference between defer object promise and promise from $resource service延迟对象承诺和来自 $resource 服务的承诺有什么区别
【发布时间】:2015-06-12 17:16:03
【问题描述】:

defer object promise 和 promise from $resource service 有什么区别?

我知道,在某些情况下,使用$q 服务创建deferer,然后解析响应并返回承诺。

同时其他人可能会做类似return $resource(...).get().$promise; 的事情。

什么是差异。在这两种方法之间?

【问题讨论】:

    标签: angularjs promise


    【解决方案1】:

    $resource 返回的 Promise 是有人最初使用 $q.defer()(或更新更现代的 Promise 构造函数)创建的。

    某人是$resource 内部使用的$http 服务 - 您正在使用他们为您创建的承诺。

    通常,在使用 async 时,您只需在代码的最低级别使用 $q.defer 或 promise 构造函数 - 否则通常最好使用 promise 链接。否则你最终会是with the explicit construction anti-pattern

    【讨论】:

    • 所以简单来说就是http和q服务,或者更高级的资源服务,链式promise调用,对吧?据我了解您的回答,http 和 q 只是一些开发人员仍在使用的剩菜?
    • @Eugene 不,它们是较低级别的原语。用于休息管理的$resource 构建于用于 HTTP 调用的$http 之上,用于构建承诺的$q 和用于网络调用的XMLHTTPRequest。当然不是剩菜 - 有很多没有 $resource 的 $http 用例(用于调用非休息服务或不同风格的休息服务调用)和很多没有 $http 的 $q 用例(用于非 http API - 例如 $timeout 返回一个承诺)。
    • 好的。所以只是使用范围不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2017-04-26
    • 2015-03-27
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多