【发布时间】:2021-10-19 17:57:12
【问题描述】:
这里我设置了函数toBase64()
export function toBase64(file:File) {
return new Promise((resolve,reject)=>{
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload=()=> resolve(reader.result);
reader.onerror=(error) =>reject(error);
})
它表明reader.result的类型是
string | ArrayBuffer | null,但是,当我需要使用响应时。
export class InputImgComponent implements OnInit {
constructor() { }
imageBase64!:string;
@Output()
onImageSelected = new EventEmitter<File>();
ngOnInit(): void {
}
change(event:any){
if(event.target.files.length>0) {
const file:File= event.target.files[0];
toBase64(file).then((value)=>this.imageBase64=value );
}
它表示result type is unknown,我将imageBase64 设置为字符串Type 'unknown' is not assignable to type 'string'。
真是奇怪,怎么解决这个问题,我只需要字符串结果。
【问题讨论】:
-
你应该给
toBase64一个返回类型注解
标签: angular typescript promise