在 React 中,我使用實用程式函式來處理 api 呼叫。當箭頭函式不再是匿名的時,它會回傳一個未決的承諾,這正是我想要的。但是,當箭頭函式是匿名的時,它會回傳該函式。
有沒有辦法在一行中回傳一個未決的承諾?
以下是該函式在非匿名時的樣子:
const list = () => {
let res = async () => await api.get("list");
return res();
}
這是匿名的樣子:
const list = () => {
return async () => await api.get("list")
}
uj5u.com熱心網友回復:
因為您只是回傳函式,而不是執行它。這將執行函式:
res();
在第二個示例中,您沒有額外的一組括號來執行它。添加它們:
const list = () => {
return (async () => await api.get("list"))();
}
或者,更簡單的是,首先不要將操作包裝在不必要的函式中:
const list = () => {
return api.get("list");
}
uj5u.com熱心網友回復:
在第二個示例中,您回傳的是一個函式,而不是函式的結果。將函式存盤在物件中并呼叫函式:
const list = () => {
return (async () => await api.get("list"))();
}
uj5u.com熱心網友回復:
在第二種情況下,您將回傳函式 res,而不是 res 的輸出。您可以使用 IIFE 根據需要回傳 res 的值:
const list = () => {
return api.get("list")
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/526696.html
