gpt4 book ai didi

javascript - 在 AngularJS 1.5 中使用异步服务

转载 作者:行者123 更新时间:2023-11-30 20:31:13 25 4
gpt4 key购买 nike

我对 Angular 世界还很陌生。创建单例服务以在我的 Controller 中使用。服务代码如下

      function obiUrlService(remote, SERVER_URL, URI, OBI_URL) {
this.obiUrl = this.getObiurl;
this.getObiurl = function() {
remote
.get(SERVER_URL + URI.obiDocumentViewer + '/' + OBI_URL.obiUrl)
.then(function(data) {
return data;
});
};
}

注意:远程是我在这里使用的一项单独服务。

我希望我的 Controller 使用类似这样的服务-

    vm.myurlData = obiUrlService.obiUrl;

最佳答案

JavaScript 执行非阻塞 I/O。远程服务无法返回数据。它只能返回从中提取数据的 promise 。

app.service("obiUrlService",
function obiUrlService(remote, SERVER_URL, URI, OBI_URL) {
̶t̶h̶i̶s̶.̶o̶b̶i̶U̶r̶l̶ ̶=̶ ̶t̶h̶i̶s̶.̶g̶e̶t̶O̶b̶i̶u̶r̶l̶;̶
this.getObiUrl = function() {
return remote
.get(SERVER_URL + URI.obiDocumentViewer + '/' + OBI_URL.obiUrl);
̶.̶t̶h̶e̶n̶(̶f̶u̶n̶c̶t̶i̶o̶n̶(̶d̶a̶t̶a̶)̶ ̶{̶
̶r̶e̶t̶u̶r̶n̶ ̶d̶a̶t̶a̶;̶
̶}̶)̶;̶
};
})

在 Controller 中:

obiUrlService.getObiUrl.then(function(data) {
vm.myurlData = data;
});

关于javascript - 在 AngularJS 1.5 中使用异步服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317872/

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