harmony-utils之EmitterUtil,Emitter工具類
harmony-utils 簡介與說明
harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志,異常捕獲、字符、字符串、數字、集合、日期、隨機、base64、加密、解密、JSON等一系列的功能和操作,能夠滿足各種不同的開發需求。
picker_utils 是harmony-utils拆分出來的一個子庫,包含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 發送事件
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 獲取指定事件的訂閱數
let count = EmitterUtil.getListenerCount("O123456");
LogUtil.error(`獲取指定事件的訂閱數:${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);
創作不易,請給童長老點贊
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Harmony
+關注
關注
0文章
104瀏覽量
2986
發布評論請先 登錄
相關推薦
熱點推薦
harmony-utils之NumberUtil,Number工具類
harmony-utils之NumberUtil,Number工具類 harmony-utils 簡介與說明
harmony-utils之PreviewUtil,文件預覽工具類
harmony-utils之PreviewUtil,文件預覽工具類 harmony-utils 簡介與說明 [
harmony-utils之StrUtil,字符串工具類
harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [ha
harmony-utils之TypeUtil,類型檢查工具類
harmony-utils之TypeUtil,類型檢查工具類 harmony-utils 簡介與說明 [
harmony-utils之AuthUtil,生物認證相關工具類
# harmony-utils之AuthUtil,生物認證相關工具類 ## harmony-utils 簡介與說明 ------[
harmony-utils之ArrayUtil,集合工具類
# harmony-utils之ArrayUtil,集合工具類 ## harmony-utils 簡介與說明 ------[
評論