我试图在用户单击“导出”按钮时显示加载程序。我创建了一个单独的类来执行此导出功能。
这是我尝试过的代码。
我的问题是加载器设置为 true,但我不确定导出完成后如何将其设置为 false。
HTML
<app-loader [showLoader]="showLoader"></app-loader>
ts
import { csvExport } from '../../classes/csvExport';
export class DashboardSpaComponent implements OnInit {
public csvExport: csvExport = new csvExport();
// LOADER FLAG
public showLoader: boolean = false;
downloadPDF() {
this.showLoader = true;
//call class
this.csvExport.download();
}
}
csvExport.ts
export class CsvExport {
download() {
// code here to do export
}
}
最佳答案
您需要返回这样的 Promise。
export class CsvExport {
download() {
return new Promise((resolve, reject) => {
// code here to do export
// on completion call this. resolve()
})
}
}
并使用这样的下载功能
this.csvExport.download().then(()=>{
this.showLoader = false;
})
.then
在 Promise 被解析时被调用(调用解析函数)
您可以通过here了解更多
关于javascript - 如何从类内部调用的函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55945981/