將資料發布到 API 并獲得回應時,如果我在 fetch 呼叫中硬編碼正文資料(正文:“XYZ12345”),它可以正常作業,這是一個示例:
const vatValidationRequest =
fetch(
'/api/vies/validateVAT.php', {
method: 'POST',
body: "XYZ12345",
headers: {
'Content-Type': 'application/text'
}
})
.then((response) => response.text())
.then((responseText) => {
return responseText;
});
const validateVAT = async () => {
const viesResponse = await vatValidationRequest;
console.log(viesResponse);
};
validateVAT();
但是,如果我嘗試將正文資料作為引數(正文:vatNumber)傳遞,則 validateVAT() 函式將回傳“未定義”。這是行不通的:
const vatValidationRequest = (vatNumber) => {
fetch(
'/api/vies/validateVAT.php', {
method: 'POST',
body: vatNumber,
headers: {
'Content-Type': 'application/text'
}
})
.then((response) => response.text())
.then((responseText) => {
return responseText;
});
}
const validateVAT = async (vatNumber) => {
const viesResponse = await vatValidationRequest(vatNumber);
console.log(viesResponse);
};
validateVAT("XYZ12345");
關于如何將引數傳遞給異步函式的任何線索?謝謝!
uj5u.com熱心網友回復:
問題是您沒有從該方法回傳回應。你應該做這個:
const vatValidationRequest = (vatNumber) => {
return fetch(
'/api/vies/validateVAT.php', {
method: 'POST',
body: vatNumber,
headers: {
'Content-Type': 'application/text'
}
})
.then((response) => response.text())
.then((responseText) => {
return responseText;
});
}
const validateVAT = async (vatNumber) => {
const viesResponse = await vatValidationRequest(vatNumber);
console.log(viesResponse);
};
validateVAT("XYZ12345");
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459916.html
標籤:javascript 异步 异步等待 参数 论据
