Загрузка...

Fs.writeFile() - file is not written.

Thread in Node.js created by RichPerson Sep 14, 2022. 176 views

  1. RichPerson
    RichPerson Topic starter Sep 14, 2022 Разработка - https://zelenka.guru/threads/4480553/ 2160 Sep 23, 2019
    Суть в чем, после удаления объекта из массива требуется перезаписать файл. Я даже делаю это с callback и оно выводит что файл записан, но на деле нет. До этого с этим проблем не возникало.
    JavaScript
    async function SuccessfulPayment(){
    var BillInfoFile = JSON.parse(fs.readFileSync(path.join(__dirname, 'AllBillId.json')))
    BillInfoFile.Bill.forEach(element => {
    if(element.BillId.toString() != ''){
    qiwiApi.getBillInfo(element.BillId.toString()).then( data => {
    if(data.status.value === 'PAID'){
    console.log(data.status.value)
    bot.telegram.sendMessage(element.IdUser.toString(), `Успешная оплата!`)
    let index = BillInfoFile.Bill.indexOf(element)
    console.log(BillInfoFile)
    BillInfoFile.Bill.splice(index, 1)
    console.log(index)
    console.log(BillInfoFile)
    let NewBill = BillInfoFile
    fs.writeFile(path.join(__dirname + 'AllBillId.json'), JSON.stringify(BillInfoFile), 'utf-8', (err =>{
    if(err){
    throw err
    }
    else{
    console.log('Confirm')
    }
    }))
    }
    });
    }
    });
    }
     
  2. gcc_machine
    желательно бы прикреплять output своей консоли, но попробуй заменить на:

    fs.writeFileSync(file, data[, options])
     
    1. RichPerson Topic starter
      gcc_machine, пытался и синхронно, безуспешно. Есть вариант что как-то мешает то, что это происходит в методе от **** api
    2. RichPerson Topic starter
      gcc_machine, а на счёт output, там просто показывается то что я вывел в callback, то есть «confirm».
  3. mulyar_trx
    mulyar_trx Sep 15, 2022 Banned 3 Jul 13, 2022
    Сделай код асинхронным, и перед записью данных выведи то что записываешь в консоль, само собой в формате json
     
    1. RichPerson Topic starter
  4. el9in
    el9in Sep 18, 2022 lolz.live/threads/7387449 — USDT TRC без комиссии
    Строка 15
    fs.writeFile(__dirname + '/AllBillId.json', JSON.stringify(BillInfoFile), 'utf-8', (err =>{)


    Попробуй поставить /
    path.join() на сколько Я вижу не работает в объединении пути в твоём виде.
    Я так понимаю должно быть как то так
    path.join(__dirname,'AllBillId.json')

    Чтобы path.join работал в твоём случае.
    А в итоге:
    fs.writeFile(path.join(__dirname,'AllBillId.json'), JSON.stringify(BillInfoFile), 'utf-8', (err =>{)
     
Loading...
Top