zoukankan      html  css  js  c++  java
  • 给Promise在外部增加断点

    跟踪问题的时候, 我想在每一个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

  • 相关阅读:
    max_element( )
    dp
    dfs
    dp
    区间dp
    树形dp
    dp-最长回文串
    go 结构体函数
    go 结构体初始化
    Golang数组和切片的区别
  • 原文地址:https://www.cnblogs.com/asdfq/p/13265902.html
Copyright © 2011-2022 走看看