i keep getting this uncaught promise error every time I create a new note . At first I didn’t know that this function would send back a promise, so I changed the code to account for that but the errors I got went from 72 to 70.This is very confusing as I
1.
Know the folder I want to create the note in already exist
2.
The note that should be created does not exist yet
3.
I got the path to the folder
So, in theory, this should work, but I keep getting this error Uncaught (in promise) Error: File already exists.
Here is the code:
import {Plugin, TAbstractFile } from 'obsidian'
export default class Name extends Plugin {
	AllFiles: TFolder[]
	AllFolders: TFolder[]
	Ribbon: HTMLElement;
	onload() {
		this.AllFolders = this.app.vault.getAllFolders();
		this.AllFiles = this.app.vault.getFiles();
		this.Ribbon = this.addRibbonIcon('dice', 'Autolink', (evt: MouseEvent) => {
			console.log("You have pressed the button") //works
			this.Autolink()
		});
		
		this.app.workspace.on('editor-change', (editor) => { //Works
			this.AllFolders = this.app.vault.getAllFolders();
			this.AllFiles = this.app.vault.getFiles();
			console.log("The editor has been changed")
		});
	}
	private async Autolink() {
		const file = this.app.workspace.getActiveFile()
		if (file) {
			const content = await this.app.vault.read(file)
			this.Splitlines(content);
			console.log("found the activefile")
		}
	}
	private Splitlines(Filecontent?: string) {
		const count = Filecontent ? Filecontent.split(/\r\n|\r|\n/) : null;
		if (count) {
			this.TheActualWork(count)
			console.log("Splitting the file content")
		}
	}
	private TheActualWork(stringarray: string[]) { //warning
		
		const Check="#"
		let temp: string
		let folder = ""
		let folderpath =""
		for (let i = 0; i < stringarray.length; i++) {
			temp = stringarray[i];
			//Check if the first letter of the string matches the symbol #
			if (temp.startsWith(Check)) {
				console.log("the textstarts with #") //works
				temp = temp.slice(3);
				const sliced = temp.replace(/ /g, '') 
				//if the letter matches, check if there is a folder that exists with that name get its path so that a note can be created in the folder
				for (let z = 0; i < this.AllFolders.length; z++) {
					console.log(this.AllFolders[z].name + " is the folder getting cheked and the lenght is " + this.AllFolders[z].name.length)
					if (this.AllFolders[z].name == sliced) {
						folder = sliced
						folderpath = this.AllFolders[z].path
						console.log("The text matches a current existing folder")
						console.log("The path is " + folderpath)
						break;
					} 
					//if no folder with that name is found the folder is set to a empty string
					else {
						folder = ""
						console.log("the folder " + sliced + " does not exist and its lenght is " + sliced.length)
						
						
					}
					
				}
				
			}
			//if this string does not start with the symbol #,check if there is a folder path
			else if (folder !== "") {
				console.log("the text does not start with #")
				let exist = false;
				//Remove the [[]]  
				let chararray = temp.split('')
				chararray = chararray.filter((ca) => ca != "[") //Warning
				chararray = chararray.filter((ca) => ca != "]")
				temp = ""
				for (let f = 0; f < chararray.length; f++) {
					temp += chararray[f]
				}
				//check if there is a note with that name
				for (let z = 0; z < this.AllFiles.length; z++) {
					if (temp == this.AllFiles[z].name) {
						exist = true;
						console.log("This file already exists")
					}
				}
				if (exist == false) {
					try {
						this.Createnote(folderpath, temp)
						console.log("this file doesnt exist so it is getting created")
					}
					catch (e) {
						console.log(e)
					}
					
				}
				//incase it doesnt exist create one and send it to the folder path found
				
				
			}
		}
	}
	private async Createnote(folderpath: string, Name: string) {
		await this.app.vault.create(folderpath, Name);
		return null
	}
}
export class TFolder extends TAbstractFile {
}
Ps:I am a complete newbie with javascript, I have not touched this language until know so any criticism regarding my code is appreciated