我有一項任務是完成一個使用名稱發出 API 請求的函式。此請求將回傳一個 json 物件,并且此物件具有函式應回傳的“高度”欄位。我試過了,但我的解決方案似乎不起作用。下面是我的代碼。有人可以指出我正確的方向嗎?
async function getHeight(name) {
let url = "sample url"
https.get(url, (resp) => {
let data = '';
resp.on('data', (chunk) => {
data = chunk;
});
resp.on('end', () => {
let result = (JSON.parse(data));
let result_data = result[data];
if(result_data == null){
return -1
} else{
let cataJson = (JSON.parse(result_data));
return cataJson["height"];
}
});
}).on("error", (err) => {
return -1;
});
}
uj5u.com熱心網友回復:
async function getHeight(name) {
let url = "sample url"
try {
let res = await fetch(url);
return await res.json();
} catch (error) {
console.log(error);
}
}
這段代碼應該是你需要的東西。您向 url 發出 get 請求,然后將給定的資料決議為 json 格式,然后函式回傳該資料。
uj5u.com熱心網友回復:
你可以像這樣fetch使用promise。
async function getHeight(name) {
return new Promise((resolve, reject)=>{
let url = "sample URL"
fetch(url)
.then(res=>res.json())
.then(data=>{
let result = (JSON.parse(data));
let result_data = result[data];
if(!result_data)resolve(-1)
else resolve((JSON.parse(result_data)).height)
})
.catch(e=>{reject()})
})
}
并呼叫函式
async function main(){
try{
var height = await getHeight("John");
console.log(height)
}catch(e){
console.log("Error Fetching height")
}
}
main()
uj5u.com熱心網友回復:
const getHeight = async (name) {
let url = "url"
try {
let res = await fetch(url,{
method: "GET"
);
if (res.ok == true) {
return await res.json();
} else {
throw new Error("error")
}
} catch (error) {
console.log(error);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/425415.html
標籤:javascript 节点.js 休息 https http-get
上一篇:兩個相同的正則運算式,不同的結果
