如何在此服务中成功下载后使用promises来触发加载方法?
.service('pdfService', function(){
var lastUrl;
var lastFileName
return {
createPdf(url, fileName){
//do processing
lastUrl = url;
lastFileName = fileName
},
loadLastPdf(){
//use lastUrl and lastFileName
}
}
}
并在控制器中:
.controller('SomeCtrl', function(pdfService) {
pdfService.createPdf('http://example.com', 'file.pdf');
// or pdfService.loadLastPdf();
}
我在downloadPdf方法中尝试但没有收到回复。
filetransfer.download(
...
).then(function(){
this.load(lastFileName)
});
我正在使用Cordova文件传输。
答案 0 :(得分:0)
这段代码对我有很大帮助:
controller('MyCtrl', function($scope, $q) {
function longOperation() {
var q = $q.defer();
somethingLong(function() {
q.resolve();
});
return q.promise;
}
Then you can call it:
longOperation().then(function() {
});
})