如何使用papaparse中完整函数获得的结果/数据进行http发布?

时间:2018-06-18 20:28:47

标签: angular papaparse

我基本上收到以下错误

Cannot read property 'post' of undefined

我的代码如下:

export class AppComponent {
  constructor(public http: HttpClient, private papa: PapaParseService) {}
  results:any;
  createOrders(csvData) {
    this.http.post(environment.ordersUrl, {'order': csvData})
    .toPromise().then((data)=> console.log(data));
  }
  handleFileSelect(evt) {
    let file = evt.target.files[0];
    this.papa.parse(file, {
      header: true,
      dynamicTyping: true,
      complete: function(csvOrders) {
        this.http.post(environment.ordersUrl, {'order': csvOrders.data}).subscribe();
      }
    });
  }
}

1 个答案:

答案 0 :(得分:1)

您正在调用的完整函数在其中具有不同的范围,因此不同this

您可以使用胖箭头功能:

complete: csvOrders => {
    ...
 }

或者将this绑定到函数:

complete: function(csvOrders) {
  ...
}.bind(this)