运行 Meteor.setTimeout 之后的函数

Run function after Meteor.setTimeout

在这种情况下,我试图在用户提交表单时在屏幕上 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);
  }
}

您也可以在给定 setTimeout 的函数内部执行 if 语句。

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