我从 CallApi() 调用一个函数 GetApiResponse() ,它返回一个 Api 响应对象。如果我在控制台中显示完整对象的 GetApiResponse() 中打印该响应。但我将其传递给 CallApi 函数中的“passstatus”变量。但在这里它显示未定义。我尝试了 JSON.Stringyfy() 的东西,但它对我不起作用。
我想在 ApiCall 函数中使用来自 GetApiResponse() 函数的响应。
it("ApiCall", function(){
function testCallBack(){
var passstatus=GetApiResponse(testData2)
setTimeout(()=>{
console.log(passstatus) //This returns undefined
expect(passstatus.status).to.equal("pass")
},15000);
}
testCallBack();
})
function GetApiResponse(testData2){
cy.request({
method: "GET",
url: `https://test.orders.com//admin/api/2022-01/orders.json?name=%23${testData2.orderId}&status=any`,
headers: {
Accept: 'application/json',
"Content-Type": 'application/json',
"Access-Token": "XXXXXXXXXXX"
}
}).then(response =>{
const jsonData = response.body.orders[0];
console.log(jsonData)
return jsonData;
})
}