2016-04-12 3 views
1

Я хочу отправить несколько вызовов ajax в ReactJS, и мне интересно, выполняется ли код в порядке. Будет ли второй вызов ajax отправляться только после отображения первого компонента ReactJS?Как вызвать несколько ajax в одно и то же время (и получить результаты асинхронно) в ReactJS?

var firstAJAX = React.createClass({ 
    componentWillMount: function() { 
    this.state = {list: []}; 
    }, 
    componentDidMount: function() { 
    $.ajax({ 
     url: '/someurl', 
     dataType: 'json', 
     cache: false, 
     type: 'GET', 
     success: function(data) { 
     this.setState({list: data}); 
     }.bind(this), 
     error: function(xhr, status, err) { 
     console.error('url', status, err.toString()); 
     }.bind(this) 
    }) 
    }, 
    render: function() { 
    return (
     <div> 
      {something} 
     </div> 
    ) 
    } 
}) 
ReactDOM.render(<firstAJAX />, 
    document.getElementById('div') 
); 

var secondAJAX = React.createClass({ 
    //similar code with different url from firstAJAX 
}); 

Я хочу обрабатывать несколько элементов документа с результатами, полученными от ajax. Как сделать отправить 1 ajax-> render-> отправить 1 ajax-> Render -> ... стать отправить несколько ajaxs -> Render -> Render ...

ответ

0

Предполагая, что вы добавить следующий код после var secondAJAX = ... декларации, то второй Аякса вызов будет происходить после первого оказанной.

ReactDOM.render(<secondAJAX />, 
    document.getElementById('div') 
); 

Я не знаю, что вы надеетесь достичь с этим вопросом, но вы, вероятно, не хотят, чтобы делать вещи таким образом.

+0

Как отправить 2-й аякс до получения первого аякса? – Pao

0

Я думаю, что ваш путь к использование container components рисунок. В этом случае вы можете запустить два запроса для firstAJAX & secondAJAX в контейнере и определяют поведение дочерних элементов, как вы хотите

Смежные вопросы