首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将承诺转换成字符串?我使用了Axios并将数据返回给我的react组件。

如何将承诺转换成字符串?我使用了Axios并将数据返回给我的react组件。
EN

Stack Overflow用户
提问于 2020-03-04 13:24:19
回答 1查看 378关注 0票数 0

上传图像后,我有一个对Cloudinary的API调用,它返回一个承诺,而不是一个字符串。我想把上传图像上的URL保存到我的数据库中。

以下是返回屏幕截图:

这是我的Axios代码:

代码语言:javascript
运行
复制
export const uploadImage = imageUpload => async dispatch => {
  try {

    const formData = new FormData();
    formData.append('file', imageUpload);

    const res = await axios.post(
      'https://api.cloudinary.com/v1_1/frank/image/upload',
      formData
    );

    return res.data.secure_url;
  } catch (err) {
    const errors = err.response.data.error;
  }
};

我也尝试使用.then(),但是变量返回undefined

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-05 14:39:30

好的,所以我把我的战利品通过我的重击

代码语言:javascript
运行
复制
dispatch({
  type: UPLOAD_SUCCESS,
  payload: res.data.secure_url
});

然后,在我的组件上,我使用useEffect钩子来设置formData。我还用useState钩子做我的道具

代码语言:javascript
运行
复制
const [formData, setFormData] = useState({photo: '', imgURL: ''});

如果调度被触发

代码语言:javascript
运行
复制
useEffect(() => {
  setFormData({ ...formData, photo: image });
}, [image]);

现在我的照片被设置为字符串。谢谢你分享你的想法。这很有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60527154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档