0
我正在通過Node Beginner Tutorial的方式工作,同時根據我的開發風格定製事物。例如,我選擇使用coffeescript和requirejs。後者涉及大量的重要常規數量的回調湯。通常情況下,我喜歡使用承諾來處理這些情況。經過一些最小的研究promise-io似乎是一個合理的解決方案。它的工作原理,但突然間我遇到了一個問題,結合使用所有的承諾(這似乎與jQuery.When類似 - 這是我常用的技術)。節點promise-io - 爲什麼會崩潰?
以下是我的server.coffee文件。因爲它是完美的,所以使用all
調用替換嵌套的延遲服務會提供一個請求,然後掛起服務器。有誰知道問題是什麼?
exports.start = ->
requirejs ['http', 'url', './route'], (http, url, route)->
console.log "Starting server"
server = http.createServer (request, response) ->
pathdata = url.parse request.url
###
#this breaks
promise.all(readingPost(request), route.promise).then (x) ->
[postData, route] = x
route pathdata, response, postData
###
#this works
readingPost(request).then (postData) -> route.promise.then (route) ->
route pathdata, response, postData
server.listen 8888
readingPost = (request) ->
request.setEncoding 'utf-8'
data = ''
request.addListener 'data', (dataChunk) ->
data += dataChunk
d = promise.Deferred()
request.addListener 'end', -> d.resolve data
d
哦,你是絕對正確的!我必須弄清楚如何直接導出單個值而不是通過屬性。 –