首页 文章

打字稿错误TS2345错误:TS2345:类型'Buffer'的参数不能分配给'string'类型的参数

提问于
浏览
1

打字稿新手 . 我正在从RabbitMQ通道读取一些数据并将其转换为JSON对象 . 在这一行我得到错误

let communicationInformation = JSON.parse(newCommunication.content);

TS2345:“缓冲区”类型的参数不能分配给“字符串”类型的参数 .

我需要投射数据吗?我正在使用Typescript 2.4.1

Amqplib.connect(amqpLibUrl, (err, connection) => {
if (!err) {
    connection.createChannel((err, channel) => {
        channel.consume('QueueName', newCommunication => {
            if (newCommunication != null) {
                let communicationInformation = JSON.parse(newCommunication.content);
                // Code 
            }
        })
    })
}
});

2 回答

  • 0

    我认为错误是在 JSON.parse 的输入参数上引发的 . 尝试先调用 toString 然后传递给该函数 .

    let communicationInformation = JSON.parse(newCommunication.content.toString());
    
  • 10

    下一个错误是 error TS2531: Object is possibly 'null'.

    您必须在编译器中禁用strictNullChecks

相关问题