ReactJS facebook共享按钮无法返回承诺

问题描述 投票:0回答:1

我仍在学习诺言,我有点了解诺言如何工作,但在这一点上,这超越了我。

因此,我正在使用imgur API上传图像,并且我有一个Facebook共享按钮,该按钮具有一个“ beforeOnClick”道具,该道具需要一个返回承诺的函数,但我不知道该怎么做。

我的上传到imgur的代码

const uploadApi = async (image) => {
        // Client ID
        const CLIENT_ID = 'xxxx';

        // Set headers for post request to imgur
        const config = {
            headers : {
                'Authorization': 'Client-ID ' + CLIENT_ID,
            },
            type: 'URL'
        }

        Axios.post('https://api.imgur.com/3/image', image, config)
        .then((res) => {
            setlink(res.data.data.link);
        });

    }

反应共享库组件

<FacebookShareButton children={<FacebookIcon size={32} round={true} />} beforeOnClick={} url={link}/>

根据文档,在OnOnClick必须返回已实现的承诺之前,我很确定我的uploadApi函数会返回一个承诺,但老实说我不知道​​。。

感谢任何帮助。

javascript reactjs promise axios onclicklistener
1个回答
0
投票

您需要返回从Axios请求中获得的诺言,只需将return放在axios请求上,这样就可以了。

    const uploadApi = async (image) => {
    // Client ID
    const CLIENT_ID = 'xxxx';

    // Set headers for post request to imgur
    const config = {
        headers : {
            'Authorization': 'Client-ID ' + CLIENT_ID,
        },
        type: 'URL'
    }

    return Axios.post('https://api.imgur.com/3/image', image, config)
    .then((res) => {
        setlink(res.data.data.link);
    });

}
© www.soinside.com 2019 - 2024. All rights reserved.