javascript – 我可以在Angular组件之外使用AngularJS的$q吗?

前端之家收集整理的这篇文章主要介绍了javascript – 我可以在Angular组件之外使用AngularJS的$q吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个浏览器应用程序,我有一个创建对象并初始化它的文件.该应用程序是用AngularJS编写的,但有问题的文件是Angular生态系统之外的纯 Javascript.

我想在该文件中使用promises,但由于Angular包含an implementationan implementation,我宁愿使用它而不是引入另一个库.

我也在使用RequireJS.

那么,有没有办法在非Angular文件中使用$q?

解决方法

您可以使用 angular.injector()方法执行此操作,该方法返回 $injector函数,该函数可以通过其invoke()方法注入您需要的依赖项(例如$http,$q).

DEMO

像这样的东西:

angular.injector(['ng']).invoke(['$q',function($q) {

  $q.when('hello world').then(function(message) {
    window.alert(message);
  });

}]);

请注意,传递给angular.injector()的数组是一个模块列表,我包含了ng模块,因为这是AngularJS核心依赖项所在的位置.

猜你在找的JavaScript相关文章