node面試(一)

1、爲什麼用Nodejs,它有哪些缺點?

  • 事件驅動,通過閉包很容易實現客戶端的生命活期。
  • 不用擔心多線程,鎖,並行計算的問題
  • V8引擎速度非常快
  • 對於遊戲來說,寫一遍遊戲邏輯代碼,前端後端通用

當然Nodejs也有一些缺點:

  • nodejs更新很快,可能會出現版本兼容
  • nodejs還不算成熟,還沒有大製作
  • nodejs不像其他的服務器,對於不同的鏈接,不支持進程和線程操作

2、什麼是錯誤優先的回調函數?

  • 錯誤優先(Error-first)的回調函數(Error-First Callback)用於同時返回錯誤和數據。第一個參數返回錯誤,並且驗證它是否出錯;其他參數返回數據。

 new Promise((resolve, reject) =>

      {

          setTimeout(() =>

          {

              resolve('result');

          }, 100)

      })

      .then(console.log)

      .catch(console.error);

3、如何避免回調地獄?

以下方式避免回調地獄

  • 模塊化:將回調函數轉換爲獨立的函數
  • 使用流程控制庫,例如[aync]
  • 使用Promise
  • 使用aync/await

4、什麼是Promise?

  • Promise可以幫助我們更好地處理異步操作。下面的實例中,100ms後會打印result字符串。catch用於錯誤處理。多個Promise可以鏈接起來。

    new Promise((resolve, reject) =>
    
          {
    
              setTimeout(() =>
    
              {
    
                  resolve('result');
    
              }, 100)
    
          })
    
          .then(console.log)
    
          .catch(console.error);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章