Blockchain code Metaverse VR

SmartContract×VR×Crypto(632)

スポンサーリンク

//tips

//smart contract

Node.jsにて定義されている.on、.once、.offなどのevent処理について確認していく。

.onはEventEmitterというクラスからきており、イベントを発火する(emit)とセットで使用される。

対応したイベントの処理をする.onはイベントが発火するまで待ち、イベント発火が確認できたら実行されるもの。関数でも良さそうに感じるが、イベントの中身に、呼び出し元ごとに独自に実行関数をさせたいとなると親側の関数を直接呼び出すことは出来ない関数処理では行き詰まってしまう。

この問題を解決する手法として、EventEmitterが使われることになる。つまり、呼び出し元に依存した関数処理の実行を呼び出し先で行えるのがイベントとなる。

簡単なEventEmitterのコード例をみるとわかりやすい。

class myClass {
constructor(){
this.eventEmitter = new EventEmitter() //イベントエミッターを生成
}
start(msg) {
setInterval(() => {
this.event(msg)
}, 1000)
}
event(msg) {
console.log(msg)
this.eventEmitter.emit('event') //emitでイベントを発火
}
}

const test = new myClass()
const event = test.eventEmitter //イベントエミッターをもらう
test.start('Hello')

event.on('event',()=>{ //onで発火したイベントを受け取る
console.log(new Date()) //ここに自由に追加の処理を書く
})

他にもこのようなものもある。

eventEmitter.on('setting', (obj, version) => {
console.log('name: ' + obj.name + ' message: ' + obj.message);
console.log('This version is ' + version);
});

eventEmitter.emit('setting', {name: 'event setting', message: 'Hello!!'}, '1.3.4');

.onceは一度だけ呼び出される.onでだと思っておけばよく、このメソッドを使って登録された listener は、1 度実行されたら、2 回目以降の event の発火では無視される。

リスナーの追加と削除はaddListenerとremoveListenerメソッド。

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HUNTER , 2022 All Rights Reserved Powered by AFFINGER5.