You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
node.js の実装を司る libuv を使ってC言語のアプリケーションを書いていると、コールバック関数が増えていく。まぁこれは致し方ない事なんだけど、これで面倒なのがループを止める方法。libuv は作ったハンドルが全て閉じられると勝手に uv_run が終了する仕組みになっているんだけど、例えば処理内に2つハンドルがあって、かつ閉じようとする箇所が別のコールバック処理内にあるとハンドルをグローバル変数にするか uv_timer_t timer1; uv_timer_t timer2; void exit_cb(void* data) { uv_close(timer1); uv_close(timer2); } 構造体に格納して引きずり回さなければならない。 typedef struct { uv_timer_t timer1; uv_timer_t timer2; } THE_TI
JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) の 13 日目の記事です. Node といえば非同期プログラミングですが,そのスタイルは大雑把にわけて 2 種類あります.一つ目は fs モジュールなどで使われているコールバック関数のスタイル. fs.readFile(path, function(err, content) { if (err) { // エラー時の処理 return; } // 成功時の処理 });このスタイルは,何らかの要求に対する結果を一発で受け取る (要求と結果が 1 対 1) 場合に使われます.そして,コールバック関数の第1引数でエラーの有無が通知されます.エラーがなければ null,エラーがあった場合は Error オブジェクトというのが原則のような気がしますが,undefined が渡されたりする
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く