gpt4 book ai didi

javascript - 在函数内部调用函数,只有在它结束后,其余代码才会发生

转载 作者:行者123 更新时间:2023-11-29 18:46:18 25 4
gpt4 key购买 nike

我想先调用 getUser() 函数(首先检查是否有用户登录),然后再调用其余的函数代码。

我有一些这样的函数,需要用户登录才能发生,而不是重复我想每次调用 getUser() 函数的代码。

我需要解释的功能顺序:

  addComment = () => {

this.getUser() // check if user is logged with getItem and setState userOnline boolean

/// only after the getUser is done will continue with this code -
if (this.state.userOnline == true)
{

/// fetch and other function code
this.setState({userOnline : false});
}

else {

Alert.alert("You have to be logged-in to publish comments");
return;
}
}

getUser 函数 -

async getUser() {
try {
const user = await AsyncStorage.getItem("@Ye-Music:user");
if (user !== null) {
this.setState({ userData: JSON.parse(user) });

this.setState({ userOnline: true})
}
} catch (error) {}
}

最佳答案

如果您的 getUser() 是异步的,您需要使您的 addComment 函数异步,考虑到它正在执行 setState()。然后您需要在执行其余代码之前 await getUser()

addComment = async () => {
await getUser();
//... rest of the code

}

关于javascript - 在函数内部调用函数,只有在它结束后,其余代码才会发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com