其中defer()用于创建一个deferred对象,defer.promise用于返回一个promise对象,来定义then方法。then中有三个参数,分别是成功回调、失败回调、状态变更回调。 其中resolve中传入的变量或者函数返回结果,会当作第一个then方法的参数。then方法会返回一个promise对象,因此可以写成 代码语言:javascript 复制 xxxx.then(a,b,c)...
$scope.test=1;//这个只是用来测试angularjs是否正常的,没其他的作用vardefer1 = $q.defer();varpromise1 = defer1.promise; promise1 .then(function(value){console.log("in promise1 --- success");console.log(value); },function(value){console.log("in promise1 --- error");console.log(value)...
注:简而言之,promise的resolve是发出“执行成功”的信号,而reject则是发出“执行失败”的信号。当信号发出,promise会根据不同的信号,执行不同的回调函数。 我们已经知道如何resolve一个promise对象,但如果一个异步函数调用失败了,会怎么样呢? 我们使用Math.random()函数模拟promise对象有50%的机会被reject: functiongetD...
},function(value){ console.log("in promise1 --- error");console.log(value);},function(value){ console.log("in promise1 --- notify");console.log(value);}).catch(function(e){ console.log("in promise1 --- catch");console.log(e);}).finally(function(value){ console.log('in promis...
在AngularJS中,可以使用$http服务来进行HTTP请求,并返回一个承诺(Promise)。下面是如何在AngularJS中返回$http的承诺的步骤: 首先,在你的AngularJS应用中引入$http服务。可以在控制器(Controller)或服务(Service)中使用。 在你的函数中,使用$http对象来发送HTTP请求。可以使用以下方法之一:$http.get、$http.post、$...
1、Promise 链会把上一个then的返回结果传递给调用链的下一个then(如果没有就是 undefined) 2、如果then回掉返回一个 promise 对象,下一个then只会在这个 promise 被处理结束的时候调用。 3、在链最后的catch为整个链式处理提供一个异常处理点 4、在链最后的finally总是会被执行,不管 promise 被处理或者被拒绝...
// promise rejected, could log the error with: console.log('error', error); prepareSundayRoastDinner(); }); }; Service:SonService 儿子就是一个服务,他爬上小山,尝试预报天气。我们可以把儿子通过望远镜查看即将到来的天气,假设成条用一个天气的API,通常是异步的。要么获得答案,要么出现问题(比方说返...
q服务是AngularJS中自己封装实现的一种Promise实现,相对与Kris Kwal's Q要轻量级的多。 先介绍一下$q常用的几个方法: defer() 创建一个deferred对象,这个对象可以执行几个常用的方法,比如resolve,reject,notify等 all() 传入Promise的数组,批量执行,返回一个promise对象 ...
promise.then(function (data) { //成功后的逻辑处理 }, function (error) { //失败后的逻辑处理 }); //模拟通过--实际应该是一个异步的callback中调用 defer.resolve('[data]'); //模拟拒绝--实际应该是一个异步的callback中调用 defer.reject('[data]'); ...
简言之$q服务是AngularJS中自己封装实现的一种Promise实现。先介绍一下$q常用的几个方法: defer() 创建一个deferred对象,这个对象可以执行几个常用的方法,比如resolve,reject,notify等 all() 传入Promise的数组,批量执行,返回一个promise对象 when() 传入一个不确定的参数,如果符合Promise标准,就返回一个promise对象。