Questions tagged «deferred»


4
AngularJS:在哪里使用promise?
我看到了一些正在使用的Facebook登录服务的示例 Promise访问FB Graph API。 例子1: this.api = function(item) { var deferred = $q.defer(); if (item) { facebook.FB.api('/' + item, function (result) { $rootScope.$apply(function () { if (angular.isUndefined(result.error)) { deferred.resolve(result); } else { deferred.reject(result.error); } }); }); } return deferred.promise; } 和使用过的服务 "$scope.$digest() // Manual scope evaluation"获得响应时 范例2: angular.module('HomePageModule', []).factory('facebookConnect', function() …

1
Angular $ q。如何工作?
有人可以解释一下$q.when在AngularJS中如何工作吗?我正在尝试分析$http工作方式并发现了这一点: var promise = $q.when(config); 这是来自Chrome控制台的配置对象: Object {transformRequest: Array[1], transformResponse: Array[1], cache: Object, method: "GET", url: "/schedule/month_index.html"…} cache: Object headers: Object method: "GET" transformRequest: Array[1] transformResponse: Array[1] url: "/schedule/month_index.html" __proto__: Object 接下来发生什么?如何解决或拒绝该对象?
95 angularjs  deferred  q 

4
在Angular.js中实现承诺时如何始终运行一些代码
在我的Angular.js应用程序中,我正在运行一些异步操作。在开始之前,我先使用模式div覆盖应用程序,然后在操作完成后,无论操作是否成功,都需要删除div。 目前我有这个: LoadingOverlay.start(); Auth.initialize().then(function() { LoadingOverlay.stop(); }, function() { LoadingOverlay.stop(); // Code needs to be duplicated here }) 它运作良好,但是我更喜欢这样的伪代码: LoadingOverlay.start(); Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success. LoadingOverlay.stop(); }) 我认为这是一个很普遍的问题,所以我想可以做到,但是在文档中找不到任何东西。知道是否可以做到吗?

5
如何退出执行延迟呼叫的go程序?
我需要用来defer释放使用C库手动创建的分配,但os.Exit在某些时候我还需要处于非0状态。棘手的部分是os.Exit跳过任何延迟的指令: package main import "fmt" import "os" func main() { // `defer`s will _not_ be run when using `os.Exit`, so // this `fmt.Println` will never be called. defer fmt.Println("!") // sometimes ones might use defer to do critical operations // like close a database, remove a lock or free memory …
76 go  exit  deferred 

4
angular $ q,如何在for循环内和之后链接多个promise
我想要一个for循环,该循环在每次迭代时调用异步函数。 在for循环之后,我想执行另一个代码块,但是在解决for循环中的所有先前调用之前,不要执行。 目前我的问题是,在for循环之后执行的代码块在所有异步调用完成之前执行,或者根本不执行。 带有FOR循环的代码部分及其后的代码块(有关完整代码,请参阅fiddle): [..] function outerFunction($q, $scope) { var defer = $q.defer(); readSome($q,$scope).then(function() { var promise = writeSome($q, $scope.testArray[0]) for (var i=1; i < $scope.testArray.length; i++) { promise = promise.then( angular.bind(null, writeSome, $q, $scope.testArray[i]) ); } // this must not be called before all calls in for-loop have finished …

10
如何使用jQuery Promise链接三个异步调用?
我有三个需要以同步方式进行的HTTP调用,如何将数据从一个调用传递到另一个调用? function first() { ajax() } function second() { ajax() } function third() { ajax() } function main() { first().then(second).then(third) } 我尝试将deferred用于这两个函数,并提出了部分解决方案。我可以扩展为三个功能吗? function first() { var deferred = $.Deferred(); $.ajax({ "success": function (resp) { deferred.resolve(resp); }, }); return deferred.promise(); } function second(foo) { $.ajax({ "success": function (resp) { }, "error": …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.