惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
博客园_首页
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
V
V2EX
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队

博客园 - 北山秋叶

macos 上的 zsh 启动问题记录 Keychron Max 键盘改键指南 Github 命令在 命令行 中访问特别慢的解决方法 ai 随想 影响记忆 monorepo(多包)管理中, 引入的 css 文件丢失的问题 (或者说package.json中的 sideEffects 的探索) 浏览器插件 Obsidian web 与 Obsidian 插件 local rest api 结合配置过程记录 package.json中的版本号 mac 下检测网络状态的命令 git clone 需要用户名密码的一个小问题 怎么才能写一个好代码 yeoman编写自己的脚手架 await和promise结合使用的问题 有趣的二分 ngix反向代理-之反向 redux和flux究竟有什么不同, 说点自己的理解 npm发包记录 由一个聚焦-focus-事件异常跟踪引起的总结 git查看分支的几个方法 test-your-mind-快速测试自己的代码 js中调试技巧-打印日志信息
给Promise在外部增加断点
北山秋叶 · 2020-07-08 · via 博客园 - 北山秋叶

跟踪问题的时候, 我想在每一个promise的then后边增加一个日志, 打印一下每一个 then 输出的结果.

于是有了这个问题, 直接想到的是要复写 promise 中的 then 方法.

但是 then 方法是在实例上的, 所以, 想到了可以通过 proxy 代理进行

var p = new Promise(rel=>rel('ok'));

var proxyP = new Proxy(p,{
    get(target, ...args){
        console.log('111')
        return Reflect.get(target, ...args).bind(target);
    }
})

proxyP.then(d=>console.log(d))

//这样每次都会进行输出 111 了, 当然你也可以打印其他的内容

总结:
需要注意其中的 bind 的问题, 网上好多人遇到了这个问题.
附上其中的参考链接
stackoverflow
zhihu