屏幕截图 2023-04-21 103612.jpg

问:我使用 uni.requessuccess: function(res) { this.abc() }      我已定义了abc方法   却不能访问,是什么原因?

回答:

这可能是由于作用域问题导致的。在success回调函数中,this指向的是XMLHttpRequest对象,而不是定义abc方法的对象。因此,要访问定义abc方法的对象,可以使用箭头函数或将this存储在另一个变量中。例如:


箭头函数:

success: (res) => {

  this.abc()

}

存储this:


var that = this;

uni.request({

  ...

  success: function(res) {

    that.abc();

  }

});