在Meteor.setTimeout之后运行功能

时间:2018-08-07 00:47:04

标签: javascript reactjs meteor

在这种情况下,我试图在用户提交表单时在屏幕上打勾updateModel。然后,我想关闭updateModel。完成此操作后,如果在模型中打开了表单,则需要关闭表单模型。

updateModel可以正常打开和关闭。这是Meteor.setTimeout函数。我遇到的问题是随后运行if语句。它在Meteor.setTimeout完成运行之前运行。

closeModel() {
  Meteor.setTimeout(() => this.setState({
    updatedModel: !this.state.updatedModel,
  }), 1500);

  if (this.props.addGuardianModal) {
    this.props.toggle(false);
  }
}

1 个答案:

答案 0 :(得分:1)

您也可以在赋予if的函数内执行setTimeout语句。

closeModel() {
  Meteor.setTimeout(() => {
    this.setState({
      updatedModel: !this.state.updatedModel
    });
    if (this.props.addGuardianModal) {
      this.props.toggle(false);
    }
  }, 1500);
}