gpt4 book ai didi

javascript - AngularJs:我如何在同一服务的另一个方法中解决另一个服务 promise

转载 作者:行者123 更新时间:2023-12-03 10:05:19 24 4
gpt4 key购买 nike

我有两种服务方法

            getObject: function (url, id) {
var defer = $q.defer();
$http({method: 'GET', url: url+'/'+id}).
success(function (data, status, headers, config) {
defer.resolve(data);
})
.error(function (data, status, headers, config) {
defer.reject(status);
});
return defer.promise;
},

openModal: function (objid, templateUrl) {
var modalInstance = $modal.open({
templateUrl: templateUrl
controller: 'ModalInstanceCtrl',
});

return modalInstance.result
},

现在我希望在使用 id 调用 openModal 函数时实现这一点

然后我需要调用 self.getObject(id) 然后抓取该对象,然后将其传递给 ModalInstanceCtrl

最佳答案

当调用 openModal 时,调用 getObject,并使用 resolve 将该 Promise 传递给模态 Controller :

openModal: function(objId, templateUrl) {
var p = getObject(foo, bar);

var modalInstance = $modal.open({
templateUrl: templateUrl
controller: 'ModalInstanceCtrl',
resolve: {
objectPromise: function() {
return p;
}
}
});

return modalInstance.result
}

参见https://angular-ui.github.io/bootstrap/#/modal有关如何使用 resolve 将数据传递到模态 Controller 的更多文档。

关于javascript - AngularJs:我如何在同一服务的另一个方法中解决另一个服务 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30390606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com