簡體   English   中英

如何正確處理Node.JS中的延遲操作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM