We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
type newOnceFun = { [propsName: string | symbol | number]: Function } type newOnceResult = { [propsName: string | symbol | number]: string | boolean | Function } class Once2 { private result: newOnceResult = {} private Fun: newOnceFun = {} once (type: string, fun: Function) { this.Fun[type] = fun this.result[type] = false return this.fun(this) } fun (that: Once2) { return function (type: string, ...args: any) { if (!that.result[type]) { console.log(`---${type}调用成功---`) that.result[type]= that.Fun[type](...args) if (!that.result[type]) { that.result[type] = that.Fun[type] } return that.result[type] } else { return that.result[type] } } } } // 测试test const newonce = new Once2() const newonce1 = newonce.once('new1', function (str: string) { console.log(str) }) newonce1('new1', '第一次调用的结果') newonce1('new1', '第二次调用的结果') const newonce2 = newonce.once('new2', function (str: string) { return `${str}---返回结果` }) console.log(newonce2('new2', '第一次调用')) console.log(newonce2('new2', '第二次调用')) const newonce3 = newonce.once('new3', function (str: string) { return `${str}---once3` }) const newonce4 = newonce.once('new4', function (str: string) { return `${str}---once4` }) console.log(newonce3('new3', 'once3第一次调用的结果')) console.log(newonce4('new4', 'once4第一次调用的结果')) console.log('\n---下面是二次调用once3,once4---\n') console.log(newonce3('new3', 'once3第二次调用')) console.log(newonce4('new4', 'once4第二次调用'))
The text was updated successfully, but these errors were encountered:
No branches or pull requests
The text was updated successfully, but these errors were encountered: