[英]How to fix this TypeError
TypeError:無法讀取未定義的屬性(讀取“0”)。 如何修復 dagID = result[0].dag_id 行發生的這種類型錯誤
async function accessData(){ const access = await main(); const result = access.dag_runs.map(file => ({start_date: file.start_date, end_date: file.end_date, state: file.state, dag_run_id: file.dag_run_id, dag_id: file.dag_id})) console.log(result); /*await bqConnection() .dataset('IPP_SLA') .table('sla_table') .insert(result);*/ console.log(`Inserted ${result.length} rows`) } function determineCron(result){ dagID = result[0].dag_id job = bqConnection().query(`SELECT * FROM \`np-inventory-planning-thd.IPP_SLA.expected_sla\` where dag_id = "${dagID}"`) cronTime = job[0].cron_time var interval = parser.parseExpression(cronTime); console.log('Date: ', interval.next().toString()); } determineCron()
determineCron()
函數必須接受一個參數,該參數將是一個數組!!!
以下是您可能會考慮的事項:
result
類型是一個數組,你可以使用Array 原型的Array.isArray方法來檢查它result
可能是一個空數組,因此result[0]
返回undefined
如果result
數組為空,您可以使用可選鏈接來獲得后備 ID:
dagID = result?.[0]?.dag_id || 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.