ES7 async和await方法使用问题

发布于 2022-09-05 01:39:23 字数 2035 浏览 18 评论 0

clipboard.png

想利用await关键字把返回的url赋给url变量
但是console.log一直打出undefined

uploadImgReq方法代码如下:

uploadImgReq: function(file) {
                var nameKey = this.generateUUID();
                // event.target.files[0].name = nameKey;
                this.$http.get(this.url + '/qiniu/token', {
                    params: {
                        key: nameKey
                    }
                }).then((response) => {
                    this.token = response.data.data.token;
                    if (this.token != null) {
                        var formData = new FormData();
                        formData.append('file', file);
                        formData.append('key', nameKey);
                        formData.append('token', this.token);
                        this.$http.post('http://upload.qiniu.com/', formData, {
                            headers: {
                                'Content-Type': 'multipart/form-data'
                            }
                        }).then((response) => {
                            if (response.status == 200) {
                                this.uploadStatus = false;
                                this.$message({
                                    message: '上传成功',
                                    type: 'success'
                                });
    
                                var imgUrl = this.qiniu + response.body.key;
                                console.log("i am returned")
                                return new Promise(function (resolve, reject) {
                                    resolve(imgUrl)
                                })
                            }
                        }).catch((response) => {
    
                        })
                    }
                }).catch((response) => {
    
                })

请问各位问题出在哪里了呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

策马西风 2022-09-12 01:39:23
this.$http.post('http://upload.qiniu.com/', formData, {
    headers: {
        'Content-Type': 'multipart/form-data'
    }
})

改为

return this.$http.post('http://upload.qiniu.com/', formData, {
    headers: {
        'Content-Type': 'multipart/form-data'
    }
})
画尸师 2022-09-12 01:39:23

uploadImgReq里的promise没有return

uploadImgReq: function(file) {
......
return this.$http.get(this.url + '/qiniu/token', { //没有return
......
}

另外promise.then里不应该嵌套promise,应该return promise,然后用then链式调用的方式来

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文