web-dev-qa-db-ja.com

反応:取得要求中にAXIOの進行状況を表示する方法(ダウンロードまたはアップロード)

Axiosが要求を得ている間に進行バーを表示することができます。 axiosパッケージには、ダウンロードまたはアップロード中にプログレスバーを表示するには、onDownloadProgressonUploadProgressの両方があります。私はたくさんの質問や記事を検索しましたが、彼らは常にダウンロード/アップロードの進歩やvue.jsのために、そして私はそれを反応する方法を理解することに失敗します。

[。]私は以下のコードを下回る(ダウンロードしていないので機能しません)。

[。]理想的には、私は自分自身を書いています。しかし、私は Axios-Progress Package を使用することを望んでいます( - === - )、loadProgressBar()を私のAXIOSとどう説明しているかリクエスト。

request = () => {
    this.setState({error: null, results: []})
    axios({
        method: 'get',
        url: process.env.REACT_APP_API_LOCALS,
        responseType: 'json',
        onDownloadProgress: (progressEvent) => {
            var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
            this.setState({
                loading: percentCompleted
            })
        },
    })
    .then(
        (response) => {
            console.log(response)
            this.setState({
                results: response.data.results,
                error: null,
                totalPages: Math.ceil(response.data.count / response.data.results.length)
            })  
        }
    )
    .catch(
        (error) => {
            this.setState({
                loading: null,
                error: true
            })  
        }
    );
}
 _
9
Cédric Bloem
   axios.get("download something", {
            onDownloadProgress: (progressEvent) => {
                let downloadCount = DownloadCount(progressEvent.timeStamp, progressEvent.total, progressEvent.loaded)
                let percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
                setProgressing(percentCompleted)
                dispatch({
                    type: 'downloading',
                    payload: downloadCount.toFixed(1)
                })
            }
        }).then((response) => {

        }).catch(error => {
            console.log(error);
        });
 _
0
Vahid Yeganeh