(在Postman环境中工作)检测到以下代码遍历所有url请求而不打印结果。
_.forEach(
urls,
function (myUrl) {
pm.sendRequest({
url: myUrl,
method: 'GET',
header: {
'content-type': 'application/json'
}
}, function (err, res) {
console.log(res)
});
}
)
pm.environment.set(`sections`,sections);
}
有没有办法在forEach中提供回调,可能会出现类似下面的代码。或者有任何替代方案。
function callback() {
console.log('callback');
}
_.forEach(
urls,
function (myUrl,callback) {
pm.sendRequest({
url: myUrl,
method: 'GET',
header: {
'content-type': 'application/json'
}
}, function (err, res) {
console.log(res)
});
}
)
pm.environment.set(`sections`,sections);
}
我最初认为最后的响应处理功能会处理这个问题,但它并没有。
答案 0 :(得分:0)
最好将逻辑分支到另一个函数getUrl并将回调传递给它。
以下代码有效:
_.forEach (
urls,
function (myUrl) {
getUrl(myUrl,function (err,res) {
if (err) {
console.log(err);
} else {
console.log(JSON.stringify(res));
}
});
}
);
function getUrl(myUrl, callback) {
var call = {
url: myUrl,
method: 'GET',
header: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
}
};
pm.sendRequest(
call,
function (err, res) {
callback (err,res);
}
);
}