将rest api响应作为对象返回

时间:2018-02-16 20:17:33

标签: typescript

我需要解决一个简单的任务 - 发送get(post,put,delete)请求,并将整个响应作为方法输出返回(Object应该具有属性:响应代码,正文,状态,标题......)。 使用typecript和web-request或请求。我不确定我是否了解承诺或async / await是如何工作的。请帮忙!

方法签名应为:

get(url: string): Response{
  let response: Response = await WebRequest.get(url);
  return response;
}

此代码用于rest api测试。因此,验证将在另一层上进行。我只需要回复。

提前致谢

[更新]

我通过创建异步方法解决了问题,然后在jasmine中也使用async: 我的方法:

  async get(): Promise<WebRequest.Response<string>> {
    return await WebRequest.get('http://www.google.com/invalid');
  }

我的测试机构:

it('test base http', async function () {
    expect(200).toBe(await client.get().statusCode);
});

对我而言,这是一个非常肮脏的解决方案,因为我需要始终关注异步等待关键字,并且每次都返回Promise。

有任何建议如何解决?

0 个答案:

没有答案