创建自己的angularjs $q承诺
发布时间:2020-12-17 17:53:27 所属栏目:安全 来源:网络整理
导读:此示例尝试使同步代码异步.我发现的所有例子都是相反的,除了docs. angularjs.org .. $q下面的主要第一个例子. 该文档列出了我试图使用的$q构造函数.不幸的是,jsfiddle Angular库1.1.1和1.2.1提供了一个$q对象(不是函数),如本例所示.相反,我将提供我的例子,并
此示例尝试使同步代码异步.我发现的所有例子都是相反的,除了docs.
angularjs.org .. $q下面的主要第一个例子.
该文档列出了我试图使用的$q构造函数.不幸的是,jsfiddle Angular库1.1.1和1.2.1提供了一个$q对象(不是函数),如本例所示.相反,我将提供我的例子,并希望有人会看到这个错误. https://docs.angularjs.org/api/ng/service/ $Q 我需要看到“这不会发生!”要执行的行. f = function(name) { return $q(function(resolve,reject) { console.log "this does not happen!" resolve('great') }); } f(name).then(function(result) { console.log 'result',result },function(error) { console.log 'error',error }); 而不是记录“这不会发生!”接着是“很棒”,我实际上看到传递给$q的函数记录:: result function(resolve,reject) { console.log "this does not happen!" resolve('great') } 谁能看到我做错了什么? 解决方法
你没有做错任何事.我并不认为角度文档显示隐藏在其上方的此行的代码是合适的:
正如你所看到的,它会引起很多混乱. 使用构造函数方法(如Zipper发布) var dfd = $q.defer(); 然后你可以做以下事情: dfd.reject('some value'); dfd.resolve('some value'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |