Typescript 如何调用delete方法来运行索引的所有实例
我有一种方法可以从我的ionic 4应用程序中删除文件。我可以运行deleteFile()方法来删除单个文件。我试图使用forEach方法来运行删除所有文件的过程。但在第一次删除后失败 html 控制台日志 文件清单Typescript 如何调用delete方法来运行索引的所有实例,typescript,ionic4,Typescript,Ionic4,我有一种方法可以从我的ionic 4应用程序中删除文件。我可以运行deleteFile()方法来删除单个文件。我试图使用forEach方法来运行删除所有文件的过程。但在第一次删除后失败 html 控制台日志 文件清单 Documents [ { "name":"UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png", "path":"ionic://localhost
Documents [
{
"name":"UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png",
"path":"ionic://localhost/_app_file_/var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png",
"filePath":"file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png"
},
{
"name":"UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf",
"path":"ionic://localhost/_app_file_/var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf",
"filePath":"file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf"
}
]
arr
UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png,
UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
filtered UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
correctPath file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/
arr
UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png,UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
filtered UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png
correctPath file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/
imgEntry.name UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png
imgEntry.name UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
工作代码
deleteFile(imgEntry, position): Promise<any> {
console.log("deleteFile selected");
let request = this.storage.get(this.STORAGE_KEY_DOC);
console.log("position", position);
request.then(documents => {
let arr = JSON.parse(documents);
this.documents.splice(position);
// let filtered = arr.filter(name => name != imgEntry.name);
let correctPath = imgEntry.filePath.substr(0, imgEntry.filePath.lastIndexOf('/') + 1);
this.file.removeFile(correctPath, imgEntry.name).then(res => {
let resp = JSON.stringify(res);
console.log("resp", resp);
});
let removeDB = this.storage.set(this.STORAGE_KEY_DOC, JSON.stringify(this.documents));
}).then(( )=> {
});
return request;
}
deleteFile(imgEntry,position):承诺{
log(“选择删除文件”);
让request=this.storage.get(this.storage\u KEY\u DOC);
控制台日志(“位置”,位置);
请求。然后(文档=>{
让arr=JSON.parse(文档);
本文件拼接(位置);
//let filtered=arr.filter(name=>name!=imgEntry.name);
让correctPath=imgEntry.filePath.substr(0,imgEntry.filePath.lastIndexOf('/')+1);
this.file.removeFile(correctPath,imgEntry.name)。然后(res=>{
让resp=JSON.stringify(res);
控制台日志(“resp”,resp);
});
让removeDB=this.storage.set(this.storage_KEY_DOC,JSON.stringify(this.documents));
}).然后(()=>{
});
返回请求;
}
它是“失败的”,因为您在迭代文档时正在更改数组
这基本上就是你所拥有的:
var-arr=[1,2,3,4];
arr.forEach((v,i)=>{
阵列拼接(i,1);
})
控制台日志(arr)代码>我在这一点上有点不知所措,可能需要一些帮助。然后和foreach之后的拼接。我会在大约两个月后提供悬赏days@ThomasDegroot不需要为此提供悬赏奖励,最好将其保存起来,以备将来遇到困难时使用-我将在大约11小时内完成工作后,为您更新我的答案,并提供一个实现示例。谢谢您的帮助。我真的很感激它在第一个医生时仍然失败。我已经将日志包括到文档列表和您的控制台日志中。再次感谢您在这个问题上的帮助,我正在做一些测试,它在这个.file.removeFile上看起来失败了。似乎通过阵列很好
Documents [
{
"name":"UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png",
"path":"ionic://localhost/_app_file_/var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png",
"filePath":"file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png"
},
{
"name":"UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf",
"path":"ionic://localhost/_app_file_/var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf",
"filePath":"file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf"
}
]
arr
UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png,
UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
filtered UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
correctPath file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/
arr
UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png,UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
filtered UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png
correctPath file:///var/mobile/Containers/Data/Application/F8772763-A219-407D-92CD-EF5178F0EA9C/Library/NoCloud/
imgEntry.name UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_icon-144x144.png
imgEntry.name UUID_5deb6fae-4d84-41ac-8157-01f9c68e73c5_answerID_155_originalName_44198511-How-to-Fix-FAL-Rifle-Brass-Strikes.pdf
deleteFile(imgEntry, position): Promise<any> {
console.log("deleteFile selected");
let request = this.storage.get(this.STORAGE_KEY_DOC);
console.log("position", position);
request.then(documents => {
let arr = JSON.parse(documents);
this.documents.splice(position);
// let filtered = arr.filter(name => name != imgEntry.name);
let correctPath = imgEntry.filePath.substr(0, imgEntry.filePath.lastIndexOf('/') + 1);
this.file.removeFile(correctPath, imgEntry.name).then(res => {
let resp = JSON.stringify(res);
console.log("resp", resp);
});
let removeDB = this.storage.set(this.STORAGE_KEY_DOC, JSON.stringify(this.documents));
}).then(( )=> {
});
return request;
}