在react中使用async,我想先发送0,0,0,如果state中quantity发送变化,再发送quantity,报错

发布于 2022-09-06 15:29:07 字数 1511 浏览 26 评论 0

import React from 'react';
import './styles'

class Basic extends React.Component {

    constructor() {
        super();
        this.state = {
            quantity: 0 //基本信息
        }
    }

    render() {
        return (
            <div>
                <div className={'telecommunication_index'}>

                </div>

            </div>
        )
    }

    transmission(massage) {
        const _self = this;
        console.log(massage);
        setTimeout(()=> {
             _self.setState({
                 quantity: 100
             })
        },800);
    }

    async timer(){
        const _self = this;
        return new Promise((resolve,reject) => {
            setTimeout(()=> {
                _self.transmission('0,0,0')
                resolve('800之后出现了');
            },800);
        });
    }

    componentDidMount() {
        var key=false;
        new Promise(function(resolve, reject){
            if(key){
                resolve('成功了')
            }else{
                reject('被拒绝')
            }
        }).then(function(value) {
            console.log(value); // key=true 123
        }


        this.timer.then(result=> {
            if(this.state.quantity == 'change'){
                this.transmission(this.state.quantity)
                console.log(result);  //500
            }
        }).catch(err=> {
            console.log(err.message);
        });

    }


}

export default Basic;

传不了图片

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文