So geben Sie Daten aus der Promise-Antwort zurück
P粉988025835
P粉988025835 2023-07-28 10:32:51
0
1
454
<p>Wie werden Daten von Promise korrekt zurückgegeben? Ich habe den folgenden Code: </p> <pre class="brush:php;toolbar:false;">const axios = require("axios").default; asynchrone Funktion getApiData(pathName: string, locale: string) { const {axiosRequestUrl} = getApiVars(pathName, locale); const axiosClient = axios.create({ Basis-URL: process.env.CONTENT_DOMAIN, Proxy: falsch }) return wait axiosClient.get(axiosRequestUrl); } Standardfunktion getPageData() exportieren { getApiData('shared-content', 'en-us') .then((data) => { Rückgabedaten; }) .catch((error: any) => { // Fehler hier protokollieren }) }</pre> <p>Wenn ich jedoch versuche, getPageData aus der Komponente zu verwenden, erhalte ich eine void-Funktion, die nichts zurückgibt. Warum? Was fehlt mir hier? </p>
P粉988025835
P粉988025835

Antworte allen(1)
P粉426906369

至少,您的getPageData函数本身应该是一个async函数(为了代码可读性的清晰),它将返回getApiData调用返回的Promise。

例如:


export default async function getPageData() {
    return getApiData('shared-content', 'en-us');
}

进一步的两个提示:

您需要解析这个Promise才能读取数据。

您可以决定在这里或者调用层次结构较高的位置进行错误处理

经验法则:

async函数只是返回一个Promise对象的函数。

只有在Promise被解析(使用await或.then())时才会返回实际数据

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage