我需要解决一个简单的任务 - 发送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。
有任何建议如何解决?