我想创建一个在请求正文中使用的函数。
每次调用该函数时,它都会返回一个不同的值;每次调用时增加1的数字。
我想在邮递员请求中多次调用此函数,以便在请求正文中插入一系列数字。
例如
{
"first": {nextSequenceNumber()},
"second": {nextSequenceNumber()},
"third": {nextSequenceNumber()},
"fourth": {nextSequenceNumber()},
}
有没有办法做到这一点?
答案 0 :(得分:0)
您可以使用内联调用以声明式将对象构建为javascript。
let response = {body: {
"first": {nextSequenceNumber()},
"second": {nextSequenceNumber()},
"third": {nextSequenceNumber()},
"fourth": {nextSequenceNumber()}}};
response.body.someField = ‘foo’(
在您的返回块中(使用express.js等),发送您构建的JS对象。
答案 1 :(得分:0)
您可以使用Generator
函数并采用next
调用的value属性。
function* getNext(i) {
while (true) yield i++;
}
var sequenceNumber = getNext(0),
object = {
first: sequenceNumber.next().value,
second: sequenceNumber.next().value,
third: sequenceNumber.next().value,
fourth: sequenceNumber.next().value
};
console.log(object);
同一封包中的
function* getNext(i) {
while (true) yield i++;
}
var sequenceNumber = (gen => gen.next().value)(getNext(0)),
object = {
first: sequenceNumbert(),
second: sequenceNumber(),
third: sequenceNumber(),
fourth: sequenceNumber()
};
console.log(object);
答案 2 :(得分:0)
这是一种骇人听闻的技巧,但是它会给您一个看起来像这样的对象:
{
"first":1,
"second":2,
"third":3,
"forth":4
}
如果将其添加到请求的Pre-Request Script
中
var n = 0;
function increment() { return ++n; }
function requestBody(first, second, third, forth) {
this.first = first
this.second = second
this.third = third
this.forth = forth
}
let myData = new requestBody(increment(), increment(), increment(), increment())
pm.globals.set('bodyData', JSON.stringify(myData))
您可以仅使用{{bodyData}}
变量作为请求的正文:
同样,它不是一个很好的解决方案,但是可能是需要迭代的东西。