我正在使用filestack上传文件。我只是想创建一个上传服务,以便我可以在任何组件中重用。但我的代码有问题。
这是服务文件中的一个功能
uploadFiles(file,size) {
let fsClient = filestack.init(fsKey);
let fileAccepted = file;
let maxSize = size;
let fileOptions = {
fromSources:["local_file_system"],
accept: fileAccepted,
maxFiles:1,
minFiles:1,
transformations:{
crop:true,
circle:false
},
maxSize:maxSize
};
let fileRes = new Promise((resolve, reject) => {
fsClient.pick(fileOptions).then((response) => {
if(response) {
console.log(response);
resolve(response);
} else {
reject();
}
});
});
return fileRes;
}
我的呼叫功能在组件中
this._fs.uploadFiles(fileAccepted,maxSize).then((response) => {
console.log(response);
});
我在服务功能中获得响应,但在组件中没有。问题在哪里,并建议一种方法来完成在组件中重用该功能
函数fsClient.pick()似乎返回一个promise,因此不是将调用fsClient.pick(fileOptions)包装在另一个promise中,而是可以从uploadFiles函数返回此调用。所以只需返回fsClient.pick(fileOptions)。组件中的代码保持不变。