gpt4 book ai didi

javascript - 如何只在其他功能完成后才执行该功能?

转载 作者:行者123 更新时间:2023-12-03 10:31:59 25 4
gpt4 key购买 nike

我正在研究 chrome 的文件系统 API。

fileSystemInit = function(){
//Browser specific
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;

//request rights to save files to system.
navigator.webkitPersistentStorage.requestQuota(1048*1048*8, function(grantedBytes) {
//once approved (or previously approved):
window.requestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler);
}, function(e) {
console.log('Error', e);
});
};

//Once allowed save the file
onInitFs = function(fs) {
data = 'some data'
saveFile(fs, 'json.json', data)
readFile(fs, 'json.json')
};

fileSystemInit 请求权限,一旦出现提示,onInitFs 就会运行保存和读取文件的函数。我希望从 onInitFs 外部运行 saveFile 和 readFile,基本上在我的 javascript 中的任何位置。我需要访问 fs 并且它只能在 onInitFs 运行后运行。什么是做到这一点的好方法?

这是 saveFile 和 readFile:

saveFile = function(fs, filename, content){

fs.root.getFile('json.json', {create: true}, function(fileEntry) {
// Create a FileWriter object for our FileEntry.
fileEntry.createWriter(function(fileWriter) {
// Create a new Blob and write it to log.txt.
var blob = new Blob([JSON.stringify(content)], {type: 'application/json'});
fileWriter.write(blob);

fileWriter.onwriteend = function(e) {
console.log('Write completed.', e);
};

fileWriter.onerror = function(e) {
console.log('Write failed: ', e);
};
}, errorHandler);

}, errorHandler);
}

readFile = function(fs, filename){
fs.root.getFile(filename, {}, function(fileEntry){

fileEntry.file(function(file){
var reader = new FileReader();
reader.onloadend=function(e){
console.log('content:', this.result);
};
reader.readAsText(file);
},errorHandler);

},errorHandler);
};

errorHandler = function(e) {
console.log('Error: ', e);
};

最佳答案

var globalFS;
onInitFs = function(fs) {
globalFS = fs;
data = 'some data'
saveFile(fs, 'json.json', data)
readFile(fs, 'json.json')
};

然后在其他地方:

saveFile = function(globalFS, filename, content){
if(globalFS){
//do whatever
}
else{
alert("need permission to complete this action");
}
}

关于javascript - 如何只在其他功能完成后才执行该功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29168678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com