簡體   English   中英

在javascript中出現命令行提示后等待輸入

[英]wait for input after command line prompt in javascript

我正在嘗試使用提示通過用戶輸入設置局部變量。 我正在使用javascript,並在命令行中與node一起運行它。 我已經安裝了提示模塊,並在該方法中使用它。 我遇到的問題是,在hint.get()之后執行語句不會等到輸入用戶輸入后才執行。 我寫的方法的其余部分依賴於選擇的變量。 我想在執行hint.get()之后的任何操作之前設置選項。 這是代碼

 function main_loop(){ var prompt = require('prompt'); console.log("OPTIONS"); console.log("========="); console.log("1. Use a potion"); console.log("2. Go to the next room"); console.log("3. Exclaim ' Die you wizard!!!'"); console.log("4. Exit game"); var option; prompt.get(['option'], function(err, result){ option = result.option; console.log("option is: " + option); }); console.log(option); } main_loop(); 

這是輸出。 我運行它通過節點,並進入1。

塊引用

OPTIONS
=========
1. Use a potion
2. Go to the next room
3. Exclaim ' Die you wizard!!!'
4. Exit game
prompt: option:  undefined
1
option is: 1

prompt.get()是一個異步函數。 這意味着,它執行get函數,完成后執行匿名回調函數 (將選項設置為result.option),同時跳轉到下一條語句console.log(option)

這意味着在匿名回調函數有機result.option選項設置為result.option之前執行console.log(option) get。

您可以聲明一個變量並將用戶輸入存儲在其中。 然后使用if語句檢查變量是否為空。 如果它不為空(用戶鍵入了一些內容),則可以按照您喜歡的順序開始輸出內容。

暫無
暫無

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

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