首页 > 解决方案 > 在 JavaScript 中第一个方法完成后运行方法

问题描述

在不使用 jQuery 或任何其他库(仅 vanilla js)的情况下,我想要在第一个方法完成后执行第二个方法(类)的最佳方法。

这是关于我正在创建的 react native expo 应用程序。我希望我的第二种方法在第一种方法之后立即执行

方法一

async load() {
    try {
        let mydata = await AsyncStorage.getItem("MyWeeklyTasks");

        if (mydata !== null) {
            this.state.products = JSON.parse(mydata);
            data2 = JSON.parse(mydata);
        } else {
            this.state.products = [];
        }
    } catch (err) {
        alert(err);
    }
}

方法二

setDataForDay(whichDay) {
    this.load();
    this.state.whichDay = whichDay;
    let filtered;
    if (whichDay == "all") {
        filtered = this.state.products;
        // filtered = data2;
    } else {
        filtered = this.state.products.filter((obj) => {
            return obj.day === whichDay;
        });
    }
    this.state.products = filtered;
    this.forceUpdateHandler();
}

这是我的构造函数

constructor(props) {
    super(props);
    this.load();
    this.state = {
        useThisId: "",
        inputTitle: "",
        inputDesc: "",
        products: data2,
        modalsetVisible: false,
        dataModalSetVisible: false,
        whichDay: "all",
        color: "white",
    };

    this.contentForModal = {
        content: "",
    };
    this.setDataForDay(this.state.whichDay);
    this.forceUpdateHandler = this.forceUpdateHandler.bind(this);
    alert("Click on the Day you wish to see");
}

除了构造函数之外,每当数据更新时,我也会调用 load。

标签: javascriptreact-nativeclassexpo

解决方案


推荐阅读