So geben Sie Daten aus der Promise-Antwort zurück
P粉988025835
2023-07-28 10:32:51
<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>
至少,您的getPageData函数本身应该是一个async函数(为了代码可读性的清晰),它将返回getApiData调用返回的Promise。
例如:
进一步的两个提示:
您需要解析这个Promise才能读取数据。
您可以决定在这里或者调用层次结构较高的位置进行错误处理
经验法则:
async函数只是返回一个Promise对象的函数。
只有在Promise被解析(使用await或.then())时才会返回实际数据