angular承诺对象之间的区别
Difference between angular promise objects
承诺1和承诺2有什么不同?第一个只有$$state属性,第二个有额外的错误和成功回调。为什么它们不同?
<div ng-app="app">
<div ng-controller="TodoCtrl">
</div>
</div>
angular.module('app', [])
.controller('TodoCtrl', function ($scope, $http) {
//promise 1
console.log('p1',$http.get("/echo/json/").then(
function(){ console.log('s1',arguments); },
function(){ console.log('e1',arguments); }
)
);
var p = $http.get("/echo/json/");
//promise 2
console.log('p2',p);
p.then(
function(){ console.log('s2',arguments);},
function(){console.log('e2',arguments);});
}
);
控制台日志显示:
p1 Promise { $$state: Object }
$$state: Object
__proto__: Object
p2 Promise { $$state: Object }
$$state: Object
error: (fn)
success: (fn)
__proto__: Object
在第一种情况下,你调用$http.get("/echo/json/")返回一个Promise。之后,您将"then"方法与回调应用于此承诺(返回您的新承诺),之后您的控制台输出被执行(并且您在那里有这个新承诺)。回调函数在实际结果返回时执行。在第二种情况下,你创建promise,记录它(作为第一个创建的promise,没有更多,没有回调),然后你应用"then"方法回调到你的promise。同样,回调函数将在收到结果后执行。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- JavaScript中的函数和对象之间没有区别吗?
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- javascript函数的:和=之间的区别
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 函数中this和var之间的区别
- “util.inherits”和在NodeJS中扩展原型之间的区别
- Math.min()和Math.max()之间有什么区别?在Javascript中
- webpack开发模式和生产构建模式之间有什么区别
- servlet和代理servlet之间的区别
- Javascript 类型未定义和 void 之间的区别
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 布局引擎和javascript引擎之间的区别
- 什么's extjs中的mon()和on()之间的区别
- type=text/javascript和language=javascript之间的区别
- 函数()和新函数()之间的区别
- JavaScript中let和var之间的区别
- 蓝鸟的done()和spread()之间的区别
- Node.js HTTP/NET——连接和请求之间的区别