在浏览博客并查看示例时,我在处理HTTP状态代码之后发现了Angular服务这样的代码行:
return response || $q.when(response);
或
return $q.reject(rejection);
$q.when
和$q.reject(rejection)
实际上是什么意思以及为什么布尔“或”?
答案 0 :(得分:2)
您可以传递$q.when
承诺或类型。如果传递的参数不是promise - 那么它将把它包装在promise中并调用resolve。如果在处理可能或可能不是承诺的对象时有用。
语句response || $q.when(response)
表示它可以返回值或promise。
我的猜测是这样的 - 如果响应为null,它将返回一个promise - 它将异步解析为给定值 - 这是null。
$q.reject(reason)
返回被拒绝的承诺,理由是它被拒绝。它基本上是一种抛出错误的方式,可以通过catch来处理。
答案 1 :(得分:0)