如何为我的代码修复“ UnhandledPromiseRejectionWarning”

时间:2019-07-17 06:29:03

标签: node.js promise

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

我已经在file.writeFileSyn中添加了err语句,但这似乎毫无用处。 如何将承诺部分添加到f ile.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();

这是我收到的错误消息

  

(节点:21713)UnhandledPromiseRejectionWarning:TypeError:   file.writeFileSync不是函数       在getDeposite(/Users/jinwoopark/exkr-fds-service-2/apps/MonitorKrwDeposite.js:144:18)       在process._tickCallback(内部/进程/next_tick.js:68:7)warning.js:18(node:21713)UnhandledPromiseRejectionWarning:未处理   承诺拒绝。此错误是由以下原因引起的:   一个没有catch块的异步函数,或者通过拒绝一个Promise   无法使用.catch()处理。 (拒绝ID:1)

1 个答案:

答案 0 :(得分:0)

我认为解决此问题的最佳方法是记住您正在使用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();