如何将响应值返回给调用者函数

时间:2019-02-08 11:03:15

标签: reactjs typescript sharepoint spfx

我正在另一个类中调用一个包含API请求的函数。我想将API请求的响应返回到我从中调用函数的类。但是Console.log会写出“ Promise {pending}”。

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

在这里,我在“实用程序”类中使用参数调用函数“ getManager”。

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 :(得分:1)

getManager是一个异步函数,当您调用它时,您会得到一个承诺(就像所有异步函数一样)。

如果要记录结果,则必须:

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