对于乘车预订应用程序,一旦收到“已完成”状态响应,我需要停止执行“结束乘车”api。目前我正在使用 while 控制器,但会进入无限循环。 API响应: {“id”:3820,“状态”:“已完成”,“骑手”:{“id”:2019,“名字”:“测试”,“姓氏”:“骑手”,“电话号码”:“9000000124”, “电子邮件”:“[电子邮件受保护]”,“评级”:5.0,“用户”:{},“fullName”:“测试骑手"},"startLocationLat":36.10805389068134,"startLocationLong":-115.16570490025539,"en dLocationLat":36.10805389068134,"endLocationLong":-115.16570490025539,"startAddress":"73南马丁路德金大道","endAddress":"富南扎西路 920 号","start":{"地址":"南马丁路德金大道 73 号","zipCode":"89106"},"end":{ "地址":"920 西博南扎路"},"surgeFactor":1.00,"driverPayment":"4.00","requestedCarType":{"title":"STANDARD","carCategory":"REGULAR","plainIconUrl":"https://media. ride-vegas.com/regular.png","配置":"{"skipRideAuthorization": false}"},"requestedDriverTypes":[],"freeCreditCharged":"0.00"}
这是 JSON,它通过 https://jsonlint.com/ 进行了正确验证。当状态为 COMPLETED 时,我只需要执行一次 END RIDE API。有什么办法可以做到这一点吗?
将返回此 JSON 的请求放在 While Controller
下添加 JSON Extractor 作为请求的子项并按如下方式配置它:
使用以下__jexl3()函数作为While控制器的条件:
${__jexl3("${status}" != "COMPLETED",)}
就是这样,虽然控制器将运行它的孩子(ren),直到
status
变量不会变成COMPLETED
就我而言,我尝试执行脚本两次。因此,它第一次检查 API 的状态,直到它未完成为止,它会多次调用 GET Status API。 一旦状态更新为完成,它就会执行第二次迭代,但在第二次迭代中它不会进入 while 循环。 对此有什么想法吗?