gpt4 book ai didi

javascript - 访问请求 promise 中的 header 获取响应

转载 作者:行者123 更新时间:2023-12-03 02:33:23 24 4
gpt4 key购买 nike

我是 JS 世界的新手。我正在尝试编写一个测试用例来测试用户在网站上的操作。我正在使用请求 promise 模块来测试异步调用。我找不到任何关于 request-promise 的 api 文档。如何获取响应的状态代码?现在它打印未定义。另外,任何人都可以确认一下,我们如何知道 Promise 在成功时返回什么,它是解析为单个值还是异步函数返回的所有参数。我们如何知道 request.get(base_url).then(function(response, body) 中 function() 的参数是什么? 。

var request = require("request-promise");
var promise = require("bluebird");
//
var base_url = "https://mysignin.com/"
//
describe("My first test", function() {
it("User is on the sign in page", function(done) {
request.get(base_url).then(function(response, body){
// expect(response.statusCode).toBe('GET /200');
console.log("respnse " + response.statusCode);
console.log("Body " + body);
done();
}).catch(function(error) {
done("Oops somthing went wrong!!");
});
});
});

最佳答案

默认情况下,请求 promise 库仅返回响应本身。但是,您可以在选项中传递一个简单的转换函数,该函数采用三个参数并允许您返回其他内容。

因此,如果我想要 header 以及返回给我的响应,我只需这样做:

var request = require('request-promise');
var uri = 'http://domain.name/';

var _include_headers = function(body, response, resolveWithFullResponse) {
return {'headers': response.headers, 'data': body};
};

var options = {
method: 'GET',
uri: uri,
json: true,
transform: _include_headers,
}

return request(options)
.then(function(response) {
console.log(response.headers);
console.log(response.data);
});

关于javascript - 访问请求 promise 中的 header 获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39234359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com