gpt4 book ai didi

javascript - 如何使用axis.get到Api网关检查用户是否存在于数据库中?

转载 作者:行者123 更新时间:2023-12-02 22:49:31 25 4
gpt4 key购买 nike

我正在尝试编写,当我单击登录时,将检查用户名是否存在于数据库中。

有没有办法编写一个包含 axios.get(URL).then() 的函数,以便它能给我一个 bool 结果?如果用户名存在则为 true,否则为 false。

import axios from 'axios' 

function validateUser(username) {
URL: API_GATEWAY_URL
isExist = true;
axios.get(url + '?username=' + username)
.then(response => {
return response.json})
.then(json => {
if(json.data.statusCode != 200)
{
isExist = false;
}
})
.catch(error => console.error(error))

return isExist;
}

但是,无论 (json.data.statusCode != 200) 是否为 true,isExist 似乎都无法改变。请帮忙,我是 JavaScript 新手。

最佳答案

发生这种情况是因为 axios.get 返回 Promise这是异步工作的。所以你的 isExist 没有变异。此外,每当您需要控制状态时,您都应该从 validateUser 返回 Promise。

您也可以使用async/await .

编辑:(以某种 react /伪代码方式的最小实现)

// api.js
import axios from 'axios'

function validateUser(username) {
return axios.get(url + '?username=' + username)
}
// main.js
import api from 'api'

onUserKeypress(username) {
api.validateUser(username)
.then(({json}) => {
if(json.data.statusCode != 200) {
this.form.valid = false;
this.showError(username)};
})
}

关于javascript - 如何使用axis.get到Api网关检查用户是否存在于数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58241399/

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