我想匯出一個變數,但它被匯出為空。我需要這個來等待資料被插入然后它會被匯出,但我做不到
let eventGuid = 0
let INITIAL_EVENTS = [];
let datas = "";
function getDatas(){
return fetch("http://localhost:3214/events")
.then((data) => data.json())
.catch((err) => console.log(err))
}
async function armazenar() {
datas = await getDatas();
}
async function api(){
await armazenar()
datas.forEach(element => {
INITIAL_EVENTS.push(element)
});
}
api()
export default INITIAL_EVENTS;
export function createEventId() {
return String(eventGuid )
}
uj5u.com熱心網友回復:
async function api(){
await armazenar()
datas.forEach(element => {
INITIAL_EVENTS.push(element)
});
}
api()
此函式是一個異步函式 api(),但沒有 await api()。我知道這是否解決了您的問題,但您應該解決它。
uj5u.com熱心網友回復:
首先,需要對匯出陳述句進行一些說明。匯出的目的是在 node.js 執行的構建程序中使代碼可用于其他檔案。匯出不會做的是為其他檔案中的代碼提供變數值。簡而言之,export不是在運行時運行的動態特性。
我只想匯出一個異步默認函式,如下所示。
let eventGuid = 0
function getDatas(){
return fetch("http://localhost:3214/events")
.then((data) => data.json())
.catch((err) => console.log(err))
}
export default async function () {
return await getDatas();
}
export function createEventId() {
return String(eventGuid )
}
現在您需要在其他檔案中匯入我們的默認函式,然后執行它。請注意,這樣的異步函式回傳一個承諾。帶有初始事件的陣列將是后一個承諾在解決時回傳的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/328011.html
標籤:javascript 异步 异步等待
