async await fetch AsyncStorage读取JSON


constructor(){
        super()

        this.curPage = 0;
        this.pageSize = 50;
        this.dataContainer=[];
        this.userID = '';
        this.state = {
            text: '',
            sourceData:[],
            isLoading:false,
            isNotLoadMore:false,
            isError:false,


        }
    }



componentDidMount() {
    this.fetchData();
  }



//网络请求
    async fetchData() {

      let value = await AsyncStorage.getItem('user');
      let user = JSON.parse(value);
      this.userID = user.userId;
      this.curPage++;
      if(this.curPage === 1){
        this.setState({
          isLoading:true,
        });
      }
    

      try {
       
            let url = SERVER+'/cm/user/list';

            let response = await fetch(url);
            let responseData = await response.json();
            let data = responseData.object;
            //alert(JSON.stringify(data));
            if(data===null||data===undefined||data.length<=0){
              this.setState({
                sourceData : [],
                isLoading:false,
                isNotLoadMore:true,
                isError: true,
              });
              return;
            }
            this.dataContainer = [];
            this.dataContainer = data;
            if(data.length<this.pageSize){
                this.setState({
                  sourceData : this.dataContainer,
                  isLoading:false,
                  isNotLoadMore:true,
                });
            }else{
                this.setState({
                  sourceData : this.dataContainer,
                  isLoading:false,
                  isNotLoadMore:false,
                });
            }


           
          } catch(error) {
           

            this.setState({
                isLoading: false,
                isError: true,
            });
          }



    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。