所以我正在做一些demoware,我有两个AJAX调用,第一个是最后修改日期,让我知道是否从第二个获取数据。这是有效的,但我觉得有一个更聪明的方法来为真正的应用程序做这个,我只是一个试图在世界上出现的UI猴子,任何建议都非常感激。
componentDidMount() {
this.getJson();
setInterval(this.getJson.bind(this), 1000);
}
getJson() {
const el = this;
const isModified = (date) => {
let mod = false;
if (this.state.lastModified == date) {
console.log('no change');
} else {
mod = true;
console.log({
'previously modified': this.state.lastModified,
'newly modified': date
});
el.setState({lastModified: date});
}
return mod;
}
this.serverRequest = $.ajax({
url: 'URL_LAST_MODIFIED',
success: function(result) {
const lastModified = $.parseJSON(result).LastModifiedDateTime;
if (isModified(lastModified)) {
$.ajax({
url: 'URL_DATA',
success: function(result2) {
const result2Obj = $.parseJSON(result2);
el.setState({data: result2Obj});
},
error: function(xhr, status, err) {
alert(err.toString());
}
})
}
},
error: function(xhr, status, err) {
}
});
}
答案 0 :(得分:1)
我认为这是事实: https://github.com/reactjs/redux/issues/1676
这个想法是为第一个ajax调用创建一个动作......并且在成功时调度另一个动作来执行第二个调用。