我正在编写一个浏览器应用程序,我有一个创建对象并对其进行初始化的文件。该应用程序是用 AngularJS 编写的,但有问题的文件是普通的 Javascript,在 Angular 生态系统之外。
我想在该文件中使用 promises,但由于 Angular 包含一个 an implementation的 Q ,我宁愿只使用它,也不愿引入另一个库。
我也在使用 RequireJS。
那么,有没有办法在非 Angular 文件中使用 $q 呢?
最佳答案
您可以使用 angular.injector() 来做到这一点返回 $injector 的方法函数可以通过其 invoke()
方法注入(inject)您需要的依赖项(例如 $http
、$q
)。
像这样:
angular.injector(['ng']).invoke(['$q', function($q) {
$q.when('hello world').then(function(message) {
window.alert(message);
});
}]);
请注意,传递给 angular.injector()
的数组是一个模块列表,我包含了 ng
模块,因为这是 AngularJS 核心依赖项所在的位置。
关于javascript - 我可以在 Angular 组件之外使用 AngularJS 的 $q 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858244/