【发布时间】:2016-07-25 13:02:43
【问题描述】:
我有这个功能,它涉及将图像上传到 Cloudinary,然后将组件的状态设置为结果 URL。这是它的样子:
loadFileFront: function(e) {
var imageFrontURL = window.webkitURL.createObjectURL(e.target.files[0]);
var imageFrontFile = e.target.files[0];
var returnedURL = '';
Cloudinary._upload_file(imageFrontFile, {}, function(err, res) {
if (err){
console.log(err);
return;
}
console.log(res.url);
});
this.setState({
imageFront: returnedURL,
imageFrontFile: imageFrontFile
})
},
(忽略带有 createObjectURL 的那一行)。 我一直在研究如何最好地构建它,以便 setState 等待上传完成要返回的 res.url,从而正确更新状态。当我 console.log res.url 时,几秒钟后它就会出现。但是,当我尝试将returnedURL 设置为res.url 时,没有等待,它只是跳转到函数的其余部分。 在这里等待 Cloudinary 上传结果的最佳方式是什么?我一直在阅读 Meteor 1.3 中的 async / await 支持,但我一直无法弄清楚如何在服务器上的 Meteor 方法中配置此 Cloudinary 上传方法。任何帮助表示赞赏!
【问题讨论】:
标签: javascript meteor reactjs async-await