如何在拒绝中读取消息(r => new Error({id,消息:“目标”}));

时间:2018-08-20 20:31:02

标签: javascript node.js

如何阅读捕获中的错误对象消息? ...

reject(result = new Error({id, message:'target'}));

...

.catch(e => Promise.resolve( /* display the message here */ );

2 个答案:

答案 0 :(得分:4)

只需尝试使用e.message,它将使您可以访问传递给Error的错误对象数据。

答案 1 :(得分:1)

错误对象的

message属性包含错误消息。在您的情况下,消息为"[object Object]",因为Error构造函数需要一个字符串,但是您正在传递一个对象。对象的默认字符串表示形式为"[object Object]"。您可以使用JSON.stringify将对象转换为字符串:new Error(JSON.stringify{id, message:'target'})。现在,要读取对象属性,您应该使用JSON.parse来解析错误消息。

另一个选项是为错误对象设置新属性:

const error = new Error('error message'); 
error.id = id;
reject(error);