角度社区不鼓励使用$ broadcast,所以我试图找到替代方法。需要有关这种做法有效性的建议。
var deffered = $q.defer();
var getPromise = function () {
return deffered.promise;
};
var notify = function () {
deffered.notify('Hello');
};
var listenToNotification = function () {
getPromise().then({}, {}, function (data) {
console.log(data);
});
};
在
var notify = function () {
$scope.$broadcast('someEvent', 'Hello');
};
var listenToNotification = function () {
$scope.$on('someEvent', function (event, data) {
console.log(data);
});
};
答案 0 :(得分:0)
Angular是在ajax上做CRUD主要的,其中一个很棒的功能就是承诺。但是承诺并不意味着像广播一样引发事件。 这是主要区别。
广播是您可以在代码中注册特定事件的内容。 承诺等待它完成并通知您。 所以根据你想要做的事情,广播是事件驱动的,承诺应该与你的ajax调用一起使用