设置简单的图像上传后,我试图从一个函数中调用另一个函数,并且日志弹出
未处理的拒绝(TypeError):self.sendImage不是函数
这是代码
readFile(files) {
var self = this;
if (files && files[0]) {
let formPayLoad = new FormData();
formPayLoad.append("attachment_image", files[0]);
self.sendImage(formPayLoad);
}
}
sendImage(formPayLoad) {
let auth_token = window.localStorage.getItem("auth_token");
fetch("/posts", {
headers: {
Accept: "application/json",
Access: auth_token
},
method: "POST",
body: formPayLoad
})
.then(response => response.json())
}
要解决此问题,我尝试将变量this更改为self,但仍然保留错误。
那么,请问有人能解释为什么这个不处理拒斥物吗? 与Es6类有关?
答案 0 :(得分:-1)
您可能需要在构造函数ex中绑定函数
this.sendImage = this.sendImage.bind(this);
或者您可以使用ES6并使用箭头功能消除对箭头功能的需求
sendImage = (formPayLoad) => {
let auth_token = window.localStorage.getItem("auth_token");
fetch("/posts", {
headers: {
Accept: "application/json",
Access: auth_token
},
method: "POST",
body: formPayLoad
})
.then(response => response.json())
}