代码之家  ›  专栏  ›  技术社区  ›  bp123

Meteor.setTimeout之后运行函数

  •  1
  • bp123  · 技术社区  · 8 年前

    在这种情况下,我试图打开一个勾号, 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 回复  |  直到 8 年前
        1
  •  1
  •   Tholle    8 年前

    你可以做 if 函数内部的语句 setTimeout 也。

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