promise/deferred 是乙個很好的處理非同步呼叫編碼的規範,下面以nodejs**為類,來實現乙個promise/a 規範的簡單實現
/**
* created with jetbrains webstorm.
* user: xuwenmin
* date: 14-4-1
* time: 上午9:54
);// 定義promise物件
varpromise
=function
()// 繼承事件通用方法
util
.inherits
(promise
,eventemitter
);// then 方法為promise/a 規範中的方法
promise
.prototype
.then
=function
(successhandler
,errorhandler
,progresshandler)if
(typeof
errorhandler
==='function')if
(typeof
progresshandler
==='function'
)return
this;}
// 定義延遲物件
// 包含乙個狀態和乙個promise物件
vardeferred
=function
()deferred
.prototype
.resolve
=function
(obj
)deferred
.prototype
.reject
=function
(err
)deferred
.prototype
.progress
=function
(data
)// 利用乙個http請求來運用上面定義的promise/deferred
**儲存為promise.js,可以在命令列下面執行,直接輸入node promise.js
,即可看到執行效果。
簡單的Apache URL Rewrite例項
下面開始講如何設定url rewrite.apache 伺服器 比如我們有新聞頁 news readmore.php?id 4875 我們要做成靜態頁 news top2007,4875.html 首先進入apache的目錄找到名為httpd.conf的檔案。本站為 apache2.2 conf h...
閉鎖CountDownLatch的簡單實現
public class testcountdownlatch catch exception e finally t.start system.out.println c start.countdown 到達此處時,由於finally中已經呼叫了三次countdown 方法,計數已經是0了 所以此...
leveldb之SkipList的簡單實現
skiplist是鍊錶的變形,它在鍊錶的基礎上給每個元素增加了乙個高度,且每個元素的高度是乙個隨機值,因此skiplist是一種隨機化的資料結構。skiplist增 刪查 改的效率都非常高,是一種典型的以空間換時間的儲存方式。常規的鍊錶如下 而相同元素對應的skiplist結構如下 由上可知,當要在...