javascript - 如何在 Postman 中的第二个请求之后运行请求
问题描述
我试图弄清楚如何在第一个请求返回响应后使第二个请求运行。我试图在谷歌上搜索,但我对 Postman 有点陌生,我不确定我应该寻找什么。我试图做类似的事情:
pm.sendRequest(req1, function(err, res) {
pm.sendRequest(req2, function(err, done)
)});
但它没有用
while(documentLength>0)
{
pm.sendRequest(listDocumentsRequest, function(err, res){
pm.environment.set('dossierId',res.json().documentsList[index].subDossierId)
pm.environment.set('documentId',res.json().documentsList[index].documentId)
});
pm.sendRequest(getDocumentRequest);
index++;
documentLength--;
}
所以我试图发出第一个请求(listDocumentsRequest)然后等到我得到一个答案,然后运行第二个请求(getDocumentRequest),等到我得到一个答案然后移动到下一个迭代。
你们有什么想法吗?
此致
在寒冷的回答后编辑
while(documentLength>0)
{
const interval = setTimeout(() => {}, Number.MAX_SAFE_INTEGER);
function resolvedPromise() {
return new Promise((resolve, reject) => {
pm.sendRequest(listDocumentsRequest, (err, res) => {
if (err) {
console.log(err);
reject();
} else {
pm.environment.set('dossierId',res.json().documentsList[index].subDossierId)
pm.environment.set('documentId',res.json().documentsList[index].documentId)
resolve();
}
});
});
}
resolvedPromise()
.then(pm.request(getDocumentRequest))
.then(() => clearTimeout(interval))
.catch(err => {
console.log(err);
clearTimeout(interval);
});
index++;
documentLength--;
}
解决方案
// Example with a plain string URL
pm.sendRequest('https://postman-echo.com/get', (error, response) => {
if (error) {
console.log(error);
} else {
// Example with a plain string URL
pm.sendRequest('https://postman-echo.com/get/1', (error, response) => {
if (error) {
console.log(error);
} else {
console.log(response);
}
});
}
});
您可以简单地链接请求您面临的错误是什么?在你的情况下,它看起来像
while (documentLength > 0) {
pm.sendRequest(listDocumentsRequest, function (err, res) {
pm.environment.set('dossierId', res.json().documentsList[index].subDossierId)
pm.environment.set('documentId', res.json().documentsList[index].documentId)
pm.sendRequest(getDocumentRequest, function (err, res) {});
index++;
documentLength--;
});
}
推荐阅读
- javascript - TypeError: undefined is not an object (评估'serviceObj.reduce')
- python - 如何加入 Pandas 的 2 个专栏?
- android - Jetpack compose:没有方法 shouldWaitForActivitiesToComplete()
- javascript - Javascript - .split 与正则表达式返回所有匹配,如果下一个字符不是
- android - MotionLayout:如何为里面的内容设置动画?
- sql - 在 oracle SQL 中为连续或重叠的日期范围在一行中打印开始和结束日期
- c# - 如何为 IEnumerable 的所有元素执行 Polly 策略,并在第一个未处理的异常时停止
- python - 如何使用 api 和 python 将 zip 文件 RAW 上传到 Nexus 存储库
- javascript - 为什么 Filatov 使用 OR 语句?
- python - 如何过滤与特定国家相交的轨道路径?