2015-08-28 104 views
0

我正在學習NodeJs。爲什麼我們需要使用prompt.start()?

下面的代碼具有相同的影響,如果我把「prompt.start();」在評論中:

var prompt = require('prompt'); 

    // 
    // Start the prompt 
    // 


    prompt.start(); 

    // 
    // Get two properties from the user: username and email 
    // 
    prompt.get(['username', 'email'], function (err, result) { 
    // 
    // Log the results. 
    // 
    console.log('Command-line input received:'); 
    console.log(' username: ' + result.username); 
    console.log(' email: ' + result.email); 
    }); 

那麼prompt.start()是什麼意思?

回答

2

通常回答這樣問題的最佳位置是source code itself

如果你看一下,你會看到start()有一個options參數,你可以通過它來配置它的工作方式。

只要上述函數是一些文檔:

// 
// ### function start (options) 
// #### @options {Object} **Optional** Options to consume by prompt 
// Starts the prompt by listening to the appropriate events on `options.stdin` 
// and `options.stdout`. If no streams are supplied, then `process.stdin` 
// and `process.stdout` are used, respectively. 
// 
從處理的選項參數

之外,還有就是在函數,如果跳過哪個(在表面上)可能是有問題的端部的一些代碼:

if (process.platform !== 'win32') { 
    // windows falls apart trying to deal with SIGINT 
    process.on('SIGINT', function() { 
     stdout.write('\n'); 
     process.exit(1); 
    }); 
    } 

    prompt.emit('start'); 
    prompt.started = true; 
    return prompt; 
1

在這種情況下,不會影響get命令。它會影響您是否可以pauseresume的提示。它還允許您傳遞選項來自定義提示。