2013-05-13 30 views
1

回調設計模式發言中,我願做這樣的事情在CoffeeScript中如果在CoffeeScript中

data = [default, data] 
if has_some_data (err, data)-> #has some data hits the db and is a callback 
    data = data.get_some_data() 
process_data() 

我想它所以當if語句已經執行後處理數據時纔會調用。 CoffeeScript中有這樣的模式嗎?

+1

如果'has_some_data'是異步的,你如何直接在'if'語句中使用它?你不會在回調中獲得所需的數據嗎? – Dogbert 2013-05-13 19:08:07

+0

「模式」不會使用'process_data'作爲回調嗎? – 2013-05-13 19:44:58

回答

2

我不確定我是否回答您的問題,但如果您的問題是「我如何編寫能夠實現此目標的CoffeeScript?」然後......

有關使用回調和errback可像這樣什麼:

data = {...} 
callback = (data) -> process_data(data) if data 
errback = (err) -> console.log(err) 
has_some_data(args, callback, errback) 

否則,你可以澄清你的約束條件是什麼在這裏,所以我其實可以回答你的問題? ;)