aot
v0.0.3
Published
wait some condition before do something.
Downloads
194
Readme
AOT
usage
Wait
wait some condition before do something.
import { AOT_Placeholder, AOT } from 'aot';
class DB_Base {
constructor(){
this._db_init = this.initConnect()
}
protected _db_init:Promise<void>
async initConnect(){
// connect database in async
}
}
class MyDB extends DB_Base {
private _init_aot = new AOT("init my db");
constructor(){
super();
// replace the placeholder, function now in JIT mode.
this._init_aot.autoRegister(this);
this._db_init.then(()=>{
// complie the code Ahead-of-time
this._init_aot.compile(true);
});
}
@AOT_Placeholder.Wait("_db_init") // the insert code would run after this._db_init resolved.
async insert(){
// do something
}
}
Then
replace some function if condition is false.
class FileSystem_Shim {
private async _writeFile_idb(){
// write file from indexeddb
}
}
class FileSystem extends FileSystem_Shim{
private _can_fs = new AOT('RequestFileSystem');
constructor(){
super();
this._can_fs.autoRegister(this);
this._can_fs.compile('webkitRequestFileSystem' in self||'requestFileSystem' in self);
}
@AOT_Placeholder.Then('_writeFile_idb')// if condition is false, use the 'Then' function
async writeFile(){
// write file by using fileSystem API
}
}
you can use
Wait
beforeThen
. have fun.