• warning {string|Error} 触发的警告。
    • options {Object}
      • type {string} 当 warning 是一个 String 时,则 type 是用于被触发的警告类型的名称。 默认值: 'Warning'
      • code {string} 要触发的警告实例的唯一标识符。
      • ctor {Function} 当 warning 是一个 String 时,则 ctor 是一个可选的函数,用于限制生成的堆栈信息。默认值: process.emitWarning
      • detail {string} 错误的附加信息。

    process.emitWarning() 方法可用于触发自定义或应用特定的进程警告。 可以通过给 ['warning'][process_warning] 事件增加句柄来监听这些警告。

    1. // 使用代码和其他详细信息触发警告。
    2. process.emitWarning('出错啦', {
    3. code: 'MY_WARNING',
    4. detail: '一些额外的信息'
    5. });
    6. // 触发:
    7. // (node:56338) [MY_WARNING] Warning: 出错啦
    8. // 一些额外的信息

    在上面例子中,process.emitWarning() 内部生成了一个 Error 对象,并传给 ['warning'][process_warning] 句柄。

    1. process.on('warning', (warning) => {
    2. console.warn(warning.name); // 'Warning'
    3. console.warn(warning.message); // '出错啦'
    4. console.warn(warning.code); // 'MY_WARNING'
    5. console.warn(warning.stack); // Stack trace
    6. console.warn(warning.detail); // '一些额外的信息'
    7. });

    如果 warning 是一个 Error 对象,则 options 参数会被忽略。