<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 要求 編寫一個程序,發起一個 HTTP GET 請求,請求的 URL 為所提供的命令行參數的第一個。收集所有服務器所返回的數據(不僅僅包括 “data” 事件)然后在終端(標準輸出 std out)用兩行打印出來。 所打印的內容,第一行應該是一個整數,用來表示收到的字符串內容長度,第二行則是服務器返回的完整的字符串結果。 ## 提示 有兩種實現方法: 1) 可以把所有 “data” 事件所得的結果收集起來,暫存并追加在一起,而不是在收到后立刻打印出來。通過監聽 “end” 事件,可以確定 stream 是否完成傳輸,如果傳輸結束了,就可以將收集到的結果打印出來了。 2) 使用一個第三方模塊,來簡化從 stream 中收集數據的繁瑣步驟。這里有兩個不同的模塊都提供了一些有用的 API 來解決這個問題(似乎還有好多另外的模塊可以選哦!):bl (Buffer list) 或者 concat-stream,來選一個吧! [bl模塊API文檔](http://npm.im/bl) [concat-stream模塊API文檔](http://npm.im/concat-stream) 要安裝一個 Node 模塊,需用到 Node 的包管理工具 npm,輸入: ~~~ $ npm install bl ~~~ 這樣,相應的模塊的最新版本便會被下載到當前目錄下一個名為 node_modules 的子目錄中 。任何在這個子目錄中的模塊都可以簡單地使用 require 語法來將模塊載入到程序中 ,并且不需要加 ./ 這樣的路徑前綴,如下所示: ~~~ var bl = require('bl') ~~~ 可以把一個 stream pipe 到 bl 或 concat-stream 中去,它們會收集數據。一旦 stream 傳輸結束,一個回調函數會被執行,并且,這個回調函數會帶上所收集的數據: ~~~ response.pipe(bl(function (err, data) { /* ... */ })) // 或 response.pipe(concatStream(function (data) { /* ... */ })) ~~~ 要注意的是可能需要使用 data.toString() 來把 Buffer 轉換為字符串。 ## 代碼 * 方法一 ~~~ var http = require('http'); http.get(process.argv[2], function(res){ var result = ''; res.setEncoding('utf8'); res.on('data', function(data){ result += data; }); res.on('end', function(data){ console.log(result.length); console.log(result); }); }); ~~~ * 方法二 ~~~ var http = require('http') var bl = require('bl') http.get(process.argv[2], function (response) { response.pipe(bl(function (err, data) { if (err) return console.error(err) data = data.toString() console.log(data.length) console.log(data) })) }) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看