【问题标题】:How to fix "UnhandledPromiseRejectionWarning" for my code如何为我的代码修复“UnhandledPromiseRejectionWarning”
【发布时间】:2019-11-25 22:15:12
【问题描述】:

我试图将数据写入我的 .txt 文件。 但发生了未处理的承诺异常。

我已经在file.writeFileSyn 中添加了 err 语句,但它似乎一点用都没有。 如何将承诺部分添加到 file.writeFileSync

let file = fs
            .createWriteStream('depositeOrder.txt')
            .on('error', function(err) {
                console.log('[Writing error] : ' + err);
            });

        for (let content of readResult.entries()) {
            file.writeFileSync(content[0] + '|' + content[1], err => {
                console.log('We have an writing error');
                if (err) {
                    console.error(err);
                    return;
                }
            });
        }
        file.end();

这是我收到的错误消息

(node:21713) UnhandledPromiseRejectionWarning: TypeError: file.writeFileSync 不是函数 在 getDeposite (/Users/jinwoopark/exkr-fds-service-2/apps/MonitorKrwDeposite.js:144:18) 在 process._tickCallback (internal/process/next_tick.js:68:7) warning.js:18 (node:21713) UnhandledPromiseRejectionWarning: Unhandled 承诺拒绝。此错误源于抛出内部 一个没有 catch 块的异步函数,或者通过拒绝一个承诺 .catch() 没有处理。 (拒绝编号:1)

【问题讨论】:

    标签: node.js promise


    【解决方案1】:

    我认为解决此问题的最佳方法是记住您正在使用 createWriteStream 函数创建文件流。这不存在 writeFileSync 方法。

    也许试试这个代码:

    let fileStream = fs
        .createWriteStream('depositeOrder.txt')
        .on('error', function(err) {
            console.error('[Writing error] : ' + err);
        });
    
    for (let content of readResult.entries()) {
        fileStream.write(content[0] + '|' + content[1] + '\n');
    }
    
    fileStream.end();
    

    【讨论】:

      猜你喜欢
      • 2019-12-15
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 2015-10-02
      • 2018-11-11
      • 1970-01-01
      • 2013-09-22
      • 2019-09-26
      相关资源
      最近更新 更多