[英]Node.js and Q Promises: How can I hand over parameters in a cleaner way?
[英]How do I properly handle delayed operations in Node.JS?
我是ASYNC編程的新手,請耐心等待。 我有一個對Web服務API的調用,該調用可能會異常緩慢。 在前端,我可以使用“正在加載”燈箱或其他東西來處理它。 但是,在后端,我有我的要求:
var req = http.request( options, function(res) {
res.on('data', function(chunk) {
doStuff();
} );
res.on('end', function() {
doMoreStuff(); // This can take a while to get to.
return someInfo();
} );
} );
req.end();
所有這些都在makeRequest
模塊中。 因此,我應該將回調函數傳遞給makeRequest
,然后在'end'
事件之后運行它嗎? 看來這會導致很長的鏈接事件結構。
因此,任何有關如何構建此結構的幫助將不勝感激。
注意 :以上內容大部分是偽代碼,因此如果存在語法錯誤,請理解為偽代碼
是的,通常您會將回調傳遞到具有此函數的任何函數中,並且在發出“ end”時,應獲取在請求中收集的數據,並將其傳遞給回調。
我意識到它是偽代碼,您可能知道,無論如何我只想說一遍。 請記住,“數據”可以被多次調用,而最終函數中的“返回”將無濟於事。
有關提出請求的示例,您可以在這里查看我的回答。 為什么我的ExpressJS無法正確執行請求命令?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.