簡體   English   中英

打字稿模塊中的持久狀態

[英]Persistent state in typescript module

我想做這樣的事情:

let serialId = 0;

export function getId() {
    serialId = serialId + 1;
    return serialId;
}

每次我從不同地方調用它時,id都會增加。 現在看來serialId值對於每個import都是獨立的。

我是否需要一些神奇的聲明或者甚至需要一些工具來具有持久的“全局”狀態。 我不希望serialId在模塊外部可見。

如果您喜歡更多功能的方法,則可以導出工廠:

export const stateFactory = (() => {
  let id = 0;
  return ({
    getId() {
        return ++id;
    }
  })
})()

const b = stateFactory.getId(); // 1
const c = stateFactory.getId(); // 2

您可以嘗試使用類中的方法:

 export default class { serialId: number; constructor () { this.serialId = 0; } public getId(): number { this.serialId += 1; return this.serialId } } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM