Javascript 如何在ReactJS中同时调用多个ajax(并获得不同步的结果)?
我想在ReactJS中发送多个ajax调用,我想知道代码是否按顺序执行。第二个ajax调用是否仅在呈现第一个ReactJS组件之后发送Javascript 如何在ReactJS中同时调用多个ajax(并获得不同步的结果)?,javascript,jquery,ajax,reactjs,Javascript,Jquery,Ajax,Reactjs,我想在ReactJS中发送多个ajax调用,我想知道代码是否按顺序执行。第二个ajax调用是否仅在呈现第一个ReactJS组件之后发送 var firstAJAX = React.createClass({ componentWillMount: function() { this.state = {list: []}; }, componentDidMount: function() { $.ajax({ url: '/someurl', d
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
});
var firstAJAX=React.createClass({
componentWillMount:function(){
this.state={list:[]};
},
componentDidMount:function(){
$.ajax({
url:“/someurl”,
数据类型:“json”,
cache:false,
键入:“GET”,
成功:功能(数据){
this.setState({list:data});
}.绑定(此),
错误:函数(xhr、状态、错误){
console.error('url',status,err.toString());
}.绑定(此)
})
},
render:function(){
返回(
{某物}
)
}
})
ReactDOM.render(,
document.getElementById('div'))
);
var secondAJAX=React.createClass({
//与firstAJAX具有不同url的类似代码
});
我想用从ajax获得的结果处理多个文档元素。如何使发送1个ajax->render->send 1个ajax->render->…变成发送多个ajax->render->render…我想你的方法是使用模式。在这种情况下,您可以在容器中运行两个对
firstAJAX
和secondAJAX
的请求,并根据需要定义子元素的行为我认为您的方法是使用模式。在这种情况下,您可以在容器中运行两个对firstAJAX
和secondAJAX
的请求,并根据需要定义子元素的行为假设您在var secondAJAX=…
声明之后添加以下代码,则第二个ajax调用将在呈现第一个之后发生
ReactDOM.render(<secondAJAX />,
document.getElementById('div')
);
ReactDOM.render(,
document.getElementById('div'))
);
我不知道您希望通过这个问题实现什么,但您可能不想这样做。假设您在
var secondAJAX=…
声明之后添加以下代码,第二个ajax调用将在第一个声明之后发生
ReactDOM.render(<secondAJAX />,
document.getElementById('div')
);
ReactDOM.render(,
document.getElementById('div'))
);
我不知道您希望通过这个问题实现什么,但您可能不想这样做。如何在第一个ajax获得结果之前发送第二个ajax?如何在第一个ajax获得结果之前发送第二个ajax?