harmony-utils之EmitterUtil,Emitter工具類
harmony-utils 簡介與說明
harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實(shí)用工具類,致力于助力開發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶首選項(xiàng)、拍照、相冊、掃碼、文件、日志,異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和操作,能夠滿足各種不同的開發(fā)需求。
picker_utils 是harmony-utils拆分出來的一個(gè)子庫,包含PickerUtil、PhotoHelper、ScanUtil。
下載安裝ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
API方法與使用
post 發(fā)送事件
EmitterUtil.post< string >("S123456", "哈哈哈哈哈哈哈哈哈哈", emitter.EventPriority.LOW);
EmitterUtil.post< number >("N123456", 90123456789);
EmitterUtil.post< boolean >("B123456", false);
let student: Student = {
id: "NO_1234567809",
name: "小寶子",
age: 18,
sex: "男"
}
EmitterUtil.post< Student >("O123456", student);
onSubscribe 訂閱事件
EmitterUtil.onSubscribe< string >("S123456", (data) = > {
this.txtStr = `事件(string):t${data}`;
LogUtil.error(this.txtStr);
});
EmitterUtil.onSubscribe< number >("N123456", (data) = > {
this.txtStr = `事件(number):t${data}`;
LogUtil.error(this.txtStr);
});
EmitterUtil.onSubscribe< boolean >("B123456", (data) = > {
let txtStr = `事件(boolean):t${data}`;
LogUtil.error(txtStr);
});
onceSubscribe 單次訂閱指定事件
EmitterUtil.onceSubscribe< string >(10001, (data) = > {
this.txtStr = `單次事件(string):n${JSON.stringify(data, null, 2)}`;
LogUtil.error(this.txtStr);
});
unSubscribe 取消事件訂閱
EmitterUtil.unSubscribe("S123456"); //取消事件訂閱
EmitterUtil.unSubscribe("N123456"); //取消事件訂閱
EmitterUtil.unSubscribe("O123456"); //取消事件訂閱
getListenerCount 獲取指定事件的訂閱數(shù)
let count = EmitterUtil.getListenerCount("O123456");
LogUtil.error(`獲取指定事件的訂閱數(shù):${count}`);
on 訂閱事件,支持Callback
private callback: Callback< emitter.GenericEventData< string >> = (eventData) = > {
let txtStr = eventData.data as string;
LogUtil.error(txtStr);
};
EmitterUtil.on< string >(100, callback);
once 單次訂閱指定事件,支持Callback
private callback: Callback< emitter.GenericEventData< string >> = (eventData) = > {
let txtStr = eventData.data as string;
LogUtil.error(txtStr);
};
EmitterUtil.once< string >(100, callback);
off 取消事件訂閱,支持Callback
EmitterUtil.off(100, callback);
創(chuàng)作不易,請給童長老點(diǎn)贊
審核編輯 黃宇
-
Harmony
+關(guān)注
關(guān)注
0文章
108瀏覽量
3021
發(fā)布評論請先 登錄
評論