У меня есть эта функция с использованием fetch
export async function login(email, password) {
let url = new URL("http://localhost:8080");
url.search = new URLSearchParams({
t: "login",
email: email,
password: password
});
fetch(url, {
method: "GET",
headers: new Headers()
})
.then(response => response.text())
.then(response => {
console.log(response);
return response;
})
.catch(err => console.log(err));
}
И функция, которая должна вызывать ее и обрабатывать результат, такова:
handleSubmit() {
login(this.state.email, this.state.password).then(r => {
console.log(r);
if (String(r) === "true") this.props.updatePath("/main");
else this.setState({ current: 1 });
});
}
Я новичок в javascript, и я все еще немного смущен асин c вещью. В консоли журнал от второй идет до журнала от первой функции, поэтому я предполагаю, что он не ждет, пока он заработает.
Журнал первой функции выдает правильный результат, я просто не могу перевести его на другую сторону.
Сначала я использовал топор ios (с этим были некоторые проблемы), и этот подход сработал. Есть ли что-то другое в fetch, что мешает этому работать? Любая помощь будет оценена