【问题标题】:Insert 2 record to Json File向 Json 文件插入 2 条记录
【发布时间】:2022-12-12 15:36:34
【问题描述】:

创建帐户后,我正在使用写入文件写入帐户

`

    async writeFile(path, content){
        fs.writeFile(path, content, (err) => {
            if (err)
                console.log(err);
            else {
                console.log(fs.readFileSync(path, "utf8"));
            }
        })
    }

`

`

export async function insertAccountToFile(path , emailAcc , orgName){
    let data = `{
    "LoginSuccessfully" : 
    {
        "emailAddress": "${emailAcc}",
        "password": "${globalConstants.password}",
        "org" : "${orgName}",
        "LoginStatus": "Successfully"
    }
}`
    fileHelper.writeFile(path, data)
}

`

我可以正常插入到文件中,但是再次插入后,新帐户被旧帐户覆盖,所以我不确定是否需要更改一些内容才能使旧帐户和新帐户仍在文件中

【问题讨论】:

  • 最好的方法:使用JSON.parse()然后设置数据然后用JSON.stringify写入文件。或者使用 appendFile() 方法
  • 能不能写个例子,不清楚怎么写

标签: javascript file testing automated-tests testcafe


【解决方案1】:

您需要使用 appendFile 而不是 writeFile。此外,您需要promisify此方法才能使用async/await语法或使用appendFileSync。否则,会出现不同步的问题。

const fs = require("fs");
const { promisify } = require("util");

const appendFilePromisified = promisify(fs.appendFile);

async function writeFile(path, content) {
  await appendFilePromisified(path, content);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多