我们可是使用Angular的then()指定老爸针对每种结果的对策。then()函数接受两个函数作为参数:一个许诺对现时执行,一个在无法对现时执行。 Controller:FatherCtrl 老爸控制情况: // function somewhere in father-controller.js var makePromiseWithSon = function () { // This service's function returns a promis...
promise 是一种用异步方式处理值的方法,promise是对象,代表了一个函数最终可能的返回值或抛出的异常。在与远程对象打交道非常有用,可以把它们看成一个远程对象的代理。 要在Angular中创建promise需要使用内置的$q服务。先用factory定义一个服务,注入$q服务。 获得defer
q服务是AngularJS中自己封装实现的一种Promise实现,相对与Kris Kwal's Q要轻量级的多。 先介绍一下$q常用的几个方法: defer() 创建一个deferred对象,这个对象可以执行几个常用的方法,比如resolve,reject,notify等 all() 传入Promise的数组,批量执行,返回一个promise对象 when() 传入一个不确定的参数,如果符合Promis...
在之后的文章中,我们将会基于 AngularJS 来讲解 Promises 。AngularJS 的整个代码库很大程度上依赖于 Promise,包括框架以及你用它编写的应用代码。AngularJS 用的是它自己的 Promises 实现,$q服务,又一个 Q 库的轻量实现。 $q实现了上面提到的所有 Deferred / Promise 方法,除此之外$q还有自己的实现:$q.defer(),...
$scope.test = 1;//这个只是用来测试angularjs是否正常的,没其他的作用 var defer1 = $q.defer();var promise1 = defer1.promise;promise1 .then(function(value){ console.log("in promise1 --- success");console.log(value);},function(value){ console.log("in promise1 --- error");console.lo...
$scope.test = 1;//这个只是用来测试angularjs是否正常的,没其他的作用 var defer1 = $q.defer(); var promise1 = defer1.promise; promise1 .then(function(value){ console.log("in promise1 --- success"); console.log(value); },function(value){ console...
但是有了Promise这种规范,它能帮助开发者用同步的方式,编写异步的代码,比如在AngularJS中可以使用这种方式: deferABC.resolve(xxx) .then(funcSuccess(...小白让舍友带饭() .then(韭菜鸡蛋,西红柿炒鸡蛋) .finally(带包烟) $q服务 q服务是Angu...
在之后的文章中,我们将会基于 AngularJS 来讲解 Promises 。AngularJS 的整个代码库很大程度上依赖于 Promise,包括框架以及你用它编写的应用代码。AngularJS 用的是它自己的 Promises 实现,$q服务,又一个 Q 库的轻量实现。 $q实现了上面提到的所有 Deferred / Promise 方法,除此之外$q还有自己的实现:$q.defer()...
$q promise是跟AngularJS模板引擎集成的,这意味着在视图中找到任何Promise都会在视图中被执行或者拒绝。 我们可以先使用$q的defer()方法创建一个deferred对象,然后通过deferred对象的promise属性,将这个对象变成一个promise对象;这个deferred对象还提供了三个方法,分别是resolve(),reject(),notify()。
Error:(25, 17) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\di\provider.d.ts Error:(436, 103) TS2304: Cannot find name 'Map'. Error:(436, 135) TS2304: Cannot find name 'Map'....