You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bruno中响应后脚本的onResponse函数无法执行,如何解决?

解决Bruno中响应后脚本onResponse函数不执行的问题

以下是几个可行的排查和解决步骤:

  • 确认脚本类型正确
    确保你在请求的「Post Response Script」标签页下编写脚本,而不是「Pre Request Script」或其他标签。只有响应后脚本的环境才会自动触发onResponse钩子。

  • 修改onResponse的定义方式
    Bruno的脚本执行环境可能无法正确识别函数声明形式的onResponse,改成全局变量赋值的形式试试:

    onResponse = (res) => {   
      const body = res.getBody();   
      console.log("Response body: ", body);  
    } 
    console.log("Test execution in Bruno");
    

    或者用普通函数赋值:

    onResponse = function(res) {   
      const body = res.getBody();   
      console.log("Response body: ", body);  
    } 
    console.log("Test execution in Bruno");
    
  • 升级Bruno到最新版本
    部分旧版本的Bruno存在钩子函数绑定的bug,更新到官方最新稳定版能解决这类兼容性问题。

  • 排查函数内代码的问题
    先简化onResponse内的代码,排除是具体逻辑导致的无输出:

    onResponse = (res) => {   
      console.log("onResponse已触发!");  
    } 
    

    如果这个能正常输出,再逐步添加res.getBody()等代码,定位具体问题点。

  • 确认响应状态正常
    虽然你提到请求成功,但还是检查下Bruno响应面板的状态码、响应体是否完全符合预期,个别情况下响应解析失败(比如格式错误)可能导致钩子函数不触发。

内容的提问来源于stack exchange,提问作者DTM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:52:34