the getFilePreview function when used with async returns a promise i was also stuck with the same problem for some time but after goofing around a bit i learned that You don't need an async function to get the url u can just call the function and it returns the url
 getFilePreview(fileID) {
        try {
            return this.bucket.getFilePreview(conf.appwriteBucketId, fileID);
        } catch (error) {
            console.log("appwrite error:: getFilePreview::", error);
            return null;
        }
    }