【发布时间】:2021-03-01 02:38:20
【问题描述】:
我试图弄清楚如何在第一个请求返回响应后运行第二个请求。我试图在谷歌上搜索,但我对 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--;
}
【问题讨论】:
标签: javascript asynchronous promise postman