在api js中传递参数

时间:2017-12-28 09:36:07

标签: javascript api typescript server

我需要将登录和电子邮件传递给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);
};

1 个答案:

答案 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));的事件。