我目前正在嘗試將一堆 ID 寫入外部檔案。我使用 nodejs 檔案系統創建檔案,并使用它寫入檔案。該檔案已創建,但一旦嘗試寫入該檔案,機器人就會崩潰并出現以下錯誤TypeError: element.join is not a function。我的代碼的簡短版本如下所示:
const fs = require("fs");
let gameChannel = interaction.member.voice.channel;
let memberIDs = gameChannel.members.map(member => member.id);
let file = fs.createWriteStream("Sessions/" sessionID ".txt");
memberIDs.forEach(element => {file.write(element.join(", "))});
file.end();
陣列如下所示:[ '392776445375545355', '849388169614196737' ]
uj5u.com熱心網友回復:
如果 memberIDs 包含[ '392776445375545355', '849388169614196737' ]You are doing the job twise,請嘗試以下操作:
const fs = require("fs");
let gameChannel = interaction.member.voice.channel;
let memberIDs = gameChannel.members.map(member => member.id);
let file = fs.createWriteStream("Sessions/" sessionID ".txt");
file.write(memberIDs.join(", "));
file.end();
uj5u.com熱心網友回復:
您正在遍歷陣列,element字串也是如此。嘗試做file.write(memberIDs.join(", "))。
uj5u.com熱心網友回復:
element指回圈遍歷陣列的每個字串時得到的字串。你正試圖加入一個沒有別的東西的字串。你可以做的是:
const fs = require("fs");
let gameChannel = interaction.member.voice.channel;
let memberIDs = gameChannel.members.map(member => member.id);
let file = await fs.createWriteStream("Sessions/" sessionID ".txt");
await file.write(memberIDs.join(", "));
file.end();
這樣你打開檔案,遍歷陣列的每個元素并將它們加入, 然后寫入檔案,然后關閉檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/485994.html
