make sure "remove" return a promise

pull/5370/head
yann300 5 years ago committed by ioedeveloper
parent 74fced1652
commit e6dd87840e
  1. 8
      apps/remix-ide/src/app/files/fileProvider.js
  2. 5
      apps/remix-ide/src/app/files/remixDProvider.js

@ -157,12 +157,13 @@ class FileProvider {
* @param {*} path is the folder to be removed
*/
remove (path) {
return new Promise((resolve, reject) => {
path = this.removePrefix(path)
if (window.remixFileSystem.existsSync(path)) {
const stat = window.remixFileSystem.statSync(path)
try {
if (!stat.isDirectory()) {
return this.removeFile(path)
resolve(this.removeFile(path))
} else {
const items = window.remixFileSystem.readdirSync(path)
if (items.length !== 0) {
@ -182,10 +183,11 @@ class FileProvider {
}
} catch (e) {
console.log(e)
return false
return resolve(false)
}
}
return true
return resolve(true)
})
}
removeFile (path) {

@ -130,19 +130,22 @@ module.exports = class RemixDProvider {
}
remove (path) {
return new Promise((resolve, reject) => {
const unprefixedpath = this.removePrefix(path)
this._appManager.call('remixd', 'remove', { path: unprefixedpath })
.then(result => {
console.log('result: ', result)
const path = this.type + '/' + unprefixedpath
delete this.filesContent[path]
resolve(true)
this.init(() => {
this.event.trigger('fileRemoved', [path])
})
}).catch(error => {
if (error) console.log(error)
resolve(false)
})
})
}

Loading…
Cancel
Save