Невозможно выполнить / отклонить обещание - PullRequest
0 голосов
/ 29 мая 2020

Я написал метод service, который позволяет user получить аутентификацию в моем restify API. Метод get вызывает это:

public async auth(email: string, password: string): Promise<Customer> {
    let connection = await DatabaseProvider.getConnection();
    const customer = await connection.getRepository(Customer).findOne({ email });

    try {
        let isMatch = await bcrypt.compare(password, customer!.password);

        if (!isMatch) throw 'Password did not match';
        Promise.resolve(customer);
    } catch (err) {
        Promise.reject('Authentication failed');
    }
}

проблема, которую я получаю:

Функция, объявленный тип которой не является ни void, ни any, должна возвращать значение.

кажется, что Promise.resolve(customer) ничего не возвращает, я также пробовал использовать префикс return, но та же проблема

1 Ответ

1 голос
/ 29 мая 2020
public async auth(email: string, password: string): Promise<Customer> {
    let connection = await DatabaseProvider.getConnection();

    const customer = await connection.getRepository(Customer).findOne({ email });

    let isMatch = await bcrypt.compare(password, customer!.password);

    if (!isMatch) throw 'Password did not match';

    if(customer)
      return customer;

    throw 'Customer is undefined';
}

Думаю, это должно сработать ...

...