我需要将登录和电子邮件传递给const validateUser,但我不知道我该怎么做
import { UserEntityModel } from './model';
const port: string = '3000';
const baseUrl: string = `http://localhost:${port}`;
const usersUrl: string = `${baseUrl}/users`;
我在这里传递登录信息和电子邮件
export const validateUserInDB = ({login, email}: UserEntityModel): Promise<boolean> => {
return fetch(usersUrl)
.then(checkStatus)
.then(parseJSON)
.then(resolveUsers)
.then(validateUser);
};
...
我需要在这里使用
const validateUser = (data) => {
const userProfile = data.find((profile) =>
profile.login.toUpperCase() === this.login.toUpperCase() ||
profile.email.toUpperCase() === this.email.toUpperCase());
return (userProfile !== void (0) && userProfile !== null);
};
答案 0 :(得分:0)
如果我理解正确,您将能够通过并使用这样的登录/电子邮件:
export const validateUserInDB = ({login, email}: UserEntityModel): Promise<boolean> => {
return fetch(usersUrl)
.then(checkStatus)
.then(parseJSON)
.then(resolveUsers)
.then(data => validateUser(data, {login, email})); // pass login/email explicitly
};
const validateUser = (data, {login, email}) => {
const userProfile = data.find((profile) =>
profile.login.toUpperCase() === login.toUpperCase() ||
profile.email.toUpperCase() === email.toUpperCase());
return (userProfile !== void (0) && userProfile !== null);
};
或者也许没有根据自己的喜好解构.then(data => validateUser(data, login, email));
的事件。