如何使用从 papaparse 的完整函数中获得的 results/data 来执行 http post?

How to do http post with the results/data you get from the complete function in 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();
      }
    });
  }
}

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

您可以使用粗箭头函数:

complete: csvOrders => {
    ...
 }

或将this绑定到函数:

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