扫码关注官方订阅号
成功 {{status}} 点击我
成功
{{status}}
为什么当我$scope.flag为false的时候第一个then走是error而第二个走的是success,要改的话改怎么改
人生最曼妙的风景,竟是内心的淡定与从容!
promise.then(function (result) { result = result + "you have passed the first then()"; $scope.status = result; // return result; return $q.resolve(result); }, function (error) { error = error + "failed but you have passed the first then()"; $scope.status = error; // return error; return $q.reject(error); }).then(function (result) { alert("Success: " + result); }, function (error) { alert("Fail: " + error); })
每个.then都会返回一个新的promise。新的promise执行失败的代码后,会resolve当前传入.then的函数的返回值。因此第二个执行的是success。
这问题说多了也没用,自己看promise源码,一下就清楚了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
每个.then都会返回一个新的promise。新的promise执行失败的代码后,会resolve当前传入.then的函数的返回值。因此第二个执行的是success。
这问题说多了也没用,自己看promise源码,一下就清楚了。