如何使用axis.get到Api Gateway检查数据库中是否存在用户?
我正在尝试编写,它将在单击登录名时检查用户名是否存在于数据库中。
有什么方法可以编写包含axios.get(URL).then()的函数,这样它将给我一个布尔结果?如果用户名存在,则为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
。因此,您的Promise
不发生突变。另外,您应该在需要控制状态时从isExist
返回Promise。
也可以使用validateUser
。
编辑:(以某些React / Pseudocode方式的最小实现)
async/await