JavaScript — это правильный способ получить несколько API

Это правильный способ получить несколько API

Мне нужно получить два apis, поэтому я создал две функции и вызвал их одновременно, вызвав эти два метода в другой функции, как вы можете видеть в коде ниже. Я не уверен, если это способ сделать это или я должен поместить их обоих в componentDidMount? Также, как мне связать количество слов в текстовой области? Я использовал textlen для подсчета слов, но я не мог понять, как использовать textlen, чтобы показать его в элементе абзаца внизу

Ниже приведен код, пожалуйста, направьте меня в правильном направлении. Я думаю, что я почти там, но не мог получить последний кусок головоломки

 import React, { Component } from "react"; import { Button } from "react-bootstrap"; export default class MainText extends Component { constructor(props) { super(props); this.state = { title: "", id: null, snippetDescription: "", scoredata: null, marksdata: null, textlen: 0, }; } scoreanalysis = (snippetDescription, textlen) ={amp}gt; { fetch("api/scores/", { method: "POST", body: JSON.stringify({ snippetdesc: "snippetDescription" }), headers: { "Content-type": "application/json; charset=UTF-8" } }) .then(response ={amp}gt; response.json()) .then( textdata ={amp}gt; { this.setState({ scoredata: textdata.scores, textlen: snippetDescription.split(" ").length }); }, error ={amp}gt; { console.log(error); } ); }; sportsanalysis = snippetDescription ={amp}gt; { fetch("api/sports", { method: "POST", body: JSON.stringify({ snippetdesc: "snippetDescription" }), headers: { "Content-Type": "application/json; charset=UTF-8" } }) .then(response ={amp}gt; response.json()) .then( sportsdata ={amp}gt; { this.setState({ marksdata: sportsdata.data }); }, error ={amp}gt; { console.log(error); } ); }; analyse = (this.state) ={amp}gt; { try { this.scoreanalysis(snippetDescription, textlen).bind(this); this.sportsanalysis(snippetDescription).bind(this); } catch (error) { console.log("An error has occured while fetching data"); } render() { return ( {amp}lt;{amp}gt; {amp}lt;input type="text" id="titletext" onChange={title ={amp}gt; this.setState({ title })} {amp}gt;{amp}lt;/input{amp}gt; {amp}lt;textarea onChange={snippetDescription ={amp}gt; this.setState({ snippetDescription }) } {amp}gt;{amp}lt;/textarea{amp}gt; {amp}lt;Button onClick={() ={amp}gt; this.analyse({ ...this.state })}{amp}gt; Analyse {amp}lt;/Button{amp}gt; {amp}lt;p{amp}gt;{this.state.textlen} Words{amp}lt;/p{amp}gt; {amp}lt;/{amp}gt; )} } 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector