RON*_*ONE 11 promise angularjs breeze angular-promise
我在控制台中收到此错误$q is not defined
.当我做一些研究时,我发现了一些.q library has been deprecated
来自
http://www.breezejs.com/documentation/breeze-labs/breezeangularqjs的内容.
如果是这样,那么承诺的整个概念也被弃用了,
Ben*_*aum 25
承诺不会被弃用.事实上,他们最近获得了相当大的动力,并被包含在下一版本的JavaScript中.
让我们来看看他们说的话:
这个breeze.angular.q库已被弃用.它被Breeze Angular Service取代,它为Angular开发更加干净地配置了微风.
Breeze Angular Service告诉Breeze使用Angular
$q
进行承诺并使用Angular$http
进行ajax调用.
他们所说的是微风使用Angular自己的承诺承诺,而不是使用自己承诺的承诺,这些承诺比Angular breeze.angular.q
使用的承诺更有能力但也更重$q
.这只是一个API更改.
在Angular代码中,您可以$q
使用依赖注入来获取- 例如使用简单的语法:
myApp.controller("MyCtrl",function($q){
//$q is available here
});
Run Code Online (Sandbox Code Playgroud)
或者,如果您想独立使用它,您可以使用服务位置并$q
直接从注射器获取,但这种情况很少发生.(如果你想要一个例子 - 让我知道,我只是不想包含通常表明不良做法的代码).
# in your console, try following code
$injector = angular.injector(['ng']);
q = $injector.get('$q');
deferred = q.defer();
# then do whatever you want
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26934 次 |
最近记录: |