Javascript 如何让断点在promise结果中的TypeScript fat arrow函数中工作?

Javascript 如何让断点在promise结果中的TypeScript fat arrow函数中工作?,javascript,angularjs,google-chrome,typescript,console,Javascript,Angularjs,Google Chrome,Typescript,Console,所以,我有一个非常简单的角度控制器。我看到Chrome调试器和控制台之间存在分歧,而fat arrow函数作为promise解析器。如果我在处理程序中放置断点,源检查器将无法定义此。作用域。。。但是,日志记录可以很好地工作。我不明白这里是否发生了一些异步的事情,或者promise解析器函数中的fat arrow()=>{}函数是否存在作用域错误 或者,Chrome和TS+fat arrow是否存在缺陷,以及在某些情况下它是如何在.js.map中工作的 另外,如果我手动打开.js文件并在执行仍然停

所以,我有一个非常简单的角度控制器。我看到Chrome调试器和控制台之间存在分歧,而fat arrow函数作为promise解析器。如果我在处理程序中放置断点,源检查器将无法定义此。作用域。。。但是,日志记录可以很好地工作。我不明白这里是否发生了一些异步的事情,或者promise解析器函数中的fat arrow
()=>{}
函数是否存在作用域错误

或者,Chrome和TS+fat arrow是否存在缺陷,以及在某些情况下它是如何在
.js.map
中工作的

另外,如果我手动打开
.js
文件并在执行仍然停止时悬停,我可以悬停在
\u this.scope
上,结果是正确的

出于断点的目的,它似乎将其范围限定到窗口,但代码执行工作正常

class DetailController {
  scope:any;
  userModel:UserModel;

  static $inject = ['$scope','$window', 'productModel','sessionModel','userModel', '$routeParams', '$location'];
  constructor( $scope,userModel) {

    this.scope = $scope;
    this.userModel = userModel;
    this.scope.products = null;

    //if I breakpoint here, this.scope is defined

    this.userModel.getCurrentUser().then(()=> {

      this.scope.foo = 'bar';

      // if I log scope, it is defined and correct
      console.log('scope',this.scope);

      //if I breakpoint here, this.scope is undefined (hovering it says undefined)

      // etc...
      var products = this.userModel.getProducts();
      if( products.length ){
        console.log( 'prods ', this.scope );
        this.scope.products = products;
        this.scope.product = this.scope.products[0];
      }

    });
  }

  testLambda = () => {
      console.log( 'test:', this.scope ); //works
      this.scope;
      // breakpoint here fails to have proper this reference. 

  }

}

angular.module('App').controller('detailController', DetailController );

更新:我添加了一个测试lambda

在lambda的周围范围内是否有一个
\u这个
-变量?那么这就是你要找的。TS编译器已将lambda转换为常规函数。我知道这一点,并不是有意的双关语。我想说的是,通常在lambda中,我可以在ts文件中进行调试(断点会一直强制我使用ts版本)。我认为这可能是一个与角度承诺相关的问题,因为
这个
似乎适用于任何其他胖箭头函数。我不想一直跳到js,然后每个断点都返回到ts。这很烦人。我认为dubugger没有正确链接到地图是一个错误。