我有一个反应组件,如:
class BodyContent extends Component {
componentDidMount() {
const { actions } = this.props
var timerID = setInterval(function() {
actions.upload_image()
}, 5000)
}
我的upload_image
函数包含post request
到api。收到响应后,我希望它再次调用该函数。
我想只在我的upload_image
成功完成后才调用该函数。
我能做到这一点吗?
答案 0 :(得分:1)
我认为你的upload_image函数可以返回一个Promise。
如果履行承诺,您可以再次调用upload_image函数
class BodyContent extends Component {
componentDidMount() {
const { actions } = this.props
function call_upload_image_continiously() {
actions.upload_image().then(call_upload_image_continiously);
}
call_upload_image_continiously();
}
答案 1 :(得分:0)
您可以让自己的upload_image
功能自行调用。请注意,您实际上不会有setTimeout
。
var actions = {
uploadImage() {
setTimeout(() => {
console.log('Image has uploaded! Will go again now.');
actions.uploadImage();
}, 1000); // setTimeout just to simulate ansynchronousness
}
}
actions.uploadImage();