Загрузка...

Fs.writeFile() - не записывается файл.

Тема в разделе Node.js создана пользователем RichPerson 14 сен 2022. 177 просмотров

  1. RichPerson
    RichPerson Автор темы 14 сен 2022 Разработка - https://zelenka.guru/threads/4480553/ 2160 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])
     
    15 сен 2022 Изменено
    1. RichPerson Автор темы
      gcc_machine, пытался и синхронно, безуспешно. Есть вариант что как-то мешает то, что это происходит в методе от **** api
    2. RichPerson Автор темы
      gcc_machine, а на счёт output, там просто показывается то что я вывел в callback, то есть «confirm».
  3. mulyar_trx
    mulyar_trx 15 сен 2022 Заблокирован(а) 3 13 июл 2022
    Сделай код асинхронным, и перед записью данных выведи то что записываешь в консоль, само собой в формате json
     
    1. RichPerson Автор темы
  4. el9in
    el9in 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 =>{)
     
    18 сен 2022 Изменено
Загрузка...
Top