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

如何在浏览器中查看Promise resolve返回的data值?

如何在浏览器调试中查看Promise.then回调里的data值?

现有如下JavaScript代码:

const myPromise = new Promise((resolve, reject ) => {
    setTimeout(() => { 
        console.log("log1!")
        resolve({
            name: 'whatever',
            age: 17
        })
    }, 3000)
})

myPromise.then((data) => data.age) // 此处设置断点

调试时遇到的问题:在上述代码的then行设置断点,只会在Promise触发时暂停,无法查看resolve后的data;尝试用浏览器的“美化打印”功能也无法拆分该行,没法添加断点查看结果。

以下是几种可行的解决办法:

  • 把箭头函数拆成多行写法,手动拆分后就能给回调函数单独加断点:

    myPromise.then((data) => {
      // 在这里加断点,resolve执行后会自动暂停,直接查看data
      return data.age;
    })
    

    这种方式不需要额外调试技巧,修改代码后调试器能识别函数体的行,断点触发时就能看到data的具体内容。

  • 使用调试器的日志断点或条件断点:
    不用改代码,在原断点行右键选择“编辑断点”,可以添加日志语句(比如console.log(data)),Promise resolve后会自动在控制台打印data;也可以设置条件为data,当data存在时调试器会暂停,此时就能查看data。

  • 利用浏览器的Promise调试监听:
    打开开发者工具的Sources面板,找到“Event Listener Breakpoints”并展开,找到“Promises”分类,勾选“Resolve”选项。当Promise被resolve时,调试器会自动暂停,此时在调用栈中找到then的回调函数,就能查看data参数的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:27:05