Как вернуть значение ответа в функцию вызывающего - PullRequest
0 голосов
/ 08 февраля 2019

Я вызываю функцию в другом классе, который содержит запрос API.Я хочу вернуть ответ от запроса API обратно в класс, откуда я вызвал функцию.Но Console.log записывает "Promise {pending}".

    let test: Object = Utility.getManager(this.props.graphClient);
    console.log(test);

Здесь я вызываю функцию "getManager" в классе "Utility" с параметром.

public static async getManager(Client: MSGraphClient): Promise<Object> {
    return await Client
        .api("/me/manager")
        .version("v1.0")
        .get(async (error, response: any, rawResponse?: any): Promise<any> => {
            // handle the response
            console.log(response);
            return await response;
        });
}

Здесья пытаюсь отправить ответ от запроса API для сохранения в «тесте».

1 Ответ

0 голосов
/ 08 февраля 2019

getManager - это асинхронная функция, и при ее вызове вы получаете обещание (как и все асинхронные функции).

Если вы хотите записать результат, вы должны:

let test: Object = await Utility.getManager(this.props.graphClient);
console.log(test);
...