游戏读写函数promise化:game.promises
This commit is contained in:
parent
a146f461f0
commit
d8b333a995
76
game/game.js
76
game/game.js
|
@ -9886,6 +9886,62 @@ new Promise(resolve=>{
|
|||
proceed2();
|
||||
})};
|
||||
|
||||
const initGamePromises=function(){
|
||||
game.promises.download=function(url,folder,dev,onprogress){
|
||||
return new Promise((resolve,reject)=>{
|
||||
game.download(url,folder,resolve,reject,dev,onprogress);
|
||||
});
|
||||
};
|
||||
|
||||
game.promises.readFile=function(filename){
|
||||
return new Promise((resolve,reject)=>{
|
||||
game.readFile(filename,resolve,reject);
|
||||
});
|
||||
};
|
||||
|
||||
game.promises.readFileAsText=function(filename){
|
||||
return new Promise((resolve,reject)=>{
|
||||
game.readFileAsText(filename,resolve,reject);
|
||||
});
|
||||
};
|
||||
|
||||
game.promises.writeFile=function(data,path,name){
|
||||
return (new Promise((resolve,reject)=>{
|
||||
game.writeFile(data,path,name,resolve);
|
||||
})).then(result=>{
|
||||
return new Promise((resolve,reject)=>{
|
||||
if(result instanceof Error){
|
||||
reject(result);
|
||||
}else{
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
game.promises.removeFile=function(dir){
|
||||
return (new Promise((resolve,reject)=>{
|
||||
game.removeFile(dir,resolve);
|
||||
})).then(result=>{
|
||||
return new Promise((resolve,reject)=>{
|
||||
if(result instanceof Error){
|
||||
reject(result);
|
||||
}else{
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
game.promises.getFileList=function(dir){
|
||||
return new Promise((resolve,reject)=>{
|
||||
game.getFileList(dir,resolve,reject);
|
||||
});
|
||||
};
|
||||
|
||||
game.promises.ensureDirectory=game.ensureDirectory;
|
||||
};
|
||||
|
||||
if(lib.device){
|
||||
lib.init.cordovaReady=function(){
|
||||
if(lib.device=='android'){
|
||||
|
@ -9989,9 +10045,9 @@ new Promise(resolve=>{
|
|||
fileEntry.createWriter(function(fileWriter){
|
||||
fileWriter.onwriteend=callback;
|
||||
fileWriter.write(data);
|
||||
});
|
||||
});
|
||||
});
|
||||
},callback);
|
||||
},callback);
|
||||
},callback);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
@ -9999,11 +10055,9 @@ new Promise(resolve=>{
|
|||
window.resolveLocalFileSystemURL(lib.assetURL,function(entry){
|
||||
entry.getFile(dir,{},function(fileEntry){
|
||||
fileEntry.remove();
|
||||
if(callback){
|
||||
callback();
|
||||
}
|
||||
});
|
||||
});
|
||||
if(callback) callback();
|
||||
},callback||function(){});
|
||||
},callback||function(){});
|
||||
};
|
||||
game.getFileList=(dir,success,failure)=>{
|
||||
var files=[],folders=[];
|
||||
|
@ -10055,6 +10109,7 @@ new Promise(resolve=>{
|
|||
createDirectory();
|
||||
},reject));
|
||||
};
|
||||
initGamePromises();
|
||||
if(ui.updateUpdate){
|
||||
ui.updateUpdate();
|
||||
}
|
||||
|
@ -10239,6 +10294,7 @@ new Promise(resolve=>{
|
|||
createDirectory();
|
||||
});
|
||||
};
|
||||
initGamePromises();
|
||||
if(ui.updateUpdate){
|
||||
ui.updateUpdate();
|
||||
}
|
||||
|
@ -36248,6 +36304,10 @@ new Promise(resolve=>{
|
|||
}
|
||||
};
|
||||
const game={
|
||||
/**
|
||||
* @type { { [key: string]: (...args:[])=>Promise } }
|
||||
*/
|
||||
promises:{},
|
||||
globalEventHandlers: new class {
|
||||
constructor() {
|
||||
this._handlers = {};
|
||||
|
|
Loading…
Reference in New Issue