readdir是异步版本,后面的代码运行的时候,这个读取还没有完成。所以后面的代码运行的时候都获取不到结果。使用同步版本的函数就可以了。 Array.<string> FileSystemManager.readdirSync(string dirPath) FileSystemManager.readdir 的同步版本
FileSystemManager操作得到的结果如何传到函数外面?const fs = wx.getFileSystemManager(); fs.readdir({dirPath:'/pages/script',success:function(res) { console.log(res);// 结果正确 for(let i = 0;i < res.files.length;i++) { // 这里的res.files[i]可以获取到正确的文件名 // 但我应该如何将这个结果的数据传到外面使用呢? console.log(res.files[i]);// 结果正确 } },fail(res){ console.log(res); }}); [图片]
2021-06-05[代码]dirPath:[代码][代码]'${wx.env.USER_DATA_PATH}/bluejoy/b'[代码][代码],[代码] [代码]修改成 dirPath:[代码][代码]'/',[代码] [代码]看看是否可以读取成功,看看读取到的内容是什么,这样应该能知道问题出在哪儿[代码]
FileSystemManager.mkdir创建失败总是报没有写权限- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - [代码]mkdir_file:[代码][代码]function[代码][代码](){[代码][代码] [代码][代码]let fsysm = wx.getFileSystemManager();[代码][代码] [代码][代码]fsysm.mkdir({[代码][代码] [代码][代码]dirPath: [代码][代码]'${wx.env.USER_DATA_PATH}/bluejoy/b'[代码][代码],[代码][代码] [代码][代码]recursive: [代码][代码]false[代码][代码],[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]// this.toastedit.showToast(res.errMsg, 2000);[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: res => {[代码][代码] [代码][代码]// this.toastedit.showToast(res.errMsg, 2000);[代码][代码] [代码][代码]// 这里报fail permission denied, open ${dirPath} 表示指定的 filePath 路径没有写权限[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: res => {[代码] [代码] [代码][代码]}[代码] [代码] [代码][代码]});[代码] [代码] [代码][代码]},[代码]
2021-06-04