我有一个函数,并且在该函数内部,我正在运行一个内部函数。在继续使用main函数之前,我需要等待内部函数的结果。我仍在寻找异步并等待。
这是我的外部函数和内部函数。 ...代表其他代码:
async editSection () {
...
if(this.file) {
let uploadedFile = await this.uploadFile()
}
....
}
这是辅助功能:
uploadFile() {
var splitfile = this.file.name.split('.')
var newname = splitfile[0] + '_' + Date.now() + '.' + splitfile[1]
var storage = firebase.storage()
storage.ref('xxxx/'+newname).put(this.file)
.then(response => {
return response.metadata.fullPath
})
.catch(err => {
console.log(err)
return err
})
},
答案 0 :(得分:1)
只需从内部函数返回您的Promise,以便等待解决(等待)它。
uploadFile() {
var splitfile = this.file.name.split('.')
var newname = splitfile[0] + '_' + Date.now() + '.' + splitfile[1]
var storage = firebase.storage()
return storage.ref('xxxx/'+newname).put(this.file)
.then(response => {
return response.metadata.fullPath
})
.catch(err => {
console.log(err)
return err
})
},