簡體   English   中英

如何防止在控制台中記錄“未定義”的函數?

[英]How can i prevent from a function logging “undefined” in the console?

我有一個函數可以慢慢打印定義的字符串。

function slowPrint(text, milliseconds) {
  var characterID = 0;
  var charactersArray = text.split('');
  var interval = setInterval(() => {
    while (characterID < text.length) {
      if (characterID < text.length) {
        process.stdout.write(charactersArray[characterID]);
        characterID += 1
      };
      if (characterID == text.length) {
        console.log(charactersArray[characterID])
        characterID = text.length + 2
      };
      if (characterID >= parseInt(text.length + 2)) {
        break;
      };
      break;
      clearInterval(interval);
    };
    if (characterID >= parseInt(text.length + 2)) {
      clearInterval(interval);
    };
  }, milliseconds);
};
slowPrint('test 12345', 200);

代碼工作沒有任何錯誤,但是在打印字符串完成時運行記錄控制台“未定義”的函數。

輸出:

test 12345undefined

未定義的輸出是由這一行引起的。

    console.log(charactersArray[characterID])

如果刪除它,您應該會得到預期的結果。

我已經更換了

console.log(charactersArray[characterID])

process.stdout.write(charactersArray[characterID]);
process.stdout.write('\n');

它工作得很好!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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