亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法讓變量在 Node js 的函數之外可見?

無法讓變量在 Node js 的函數之外可見?

偶然的你 2024-01-18 16:23:54
我需要使index_to_write變量在函數外部可見。我怎樣才能使這成為可能?const XlsxPopulate = require('xlsx-populate');let found = false;let i = 1;let index_to_write = 0;XlsxPopulate.fromFileAsync("todo-list.xlsx")    .then(workBook => {        while (i <= 10 && found === false){            const value = workBook.sheet("Do-Shopping").cell("A" + i.toString()).value();            if (value === undefined) {                found = true;                index_to_write = i.toString();            }            i++;        }    });console.log("A " + index_to_write + " is the first one to be free of data");我嘗試return index_to_write;在下面添加index_to_write = i.toString();但它不能解決問題。目前,它顯示0,與初始化時一樣,但它應該打印4。如何修復它?非常感謝您!
查看完整描述

1 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

由于您在函數外部聲明了變量,因此您可以看到它。如果不是這種情況,結果將是 undefined 而不是 0。


但是 XlsxPopulate.fromFileAsync 是一個異步函數并返回一個承諾,并且在調用該方法時不一定會立即運行。因此,您的控制臺線路將在承諾解決之前運行。


所以執行順序是:


1. let index_to_write = 0;

2. XlsxPopulate.fromFileAsync("todo-list.xlsx")

3. console.log("A " + index_to_write + " is the first one to be free of data");

4. then(workBook => { ...


查看完整回答
反對 回復 2024-01-18
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號