我现在正在使用yodaspeak的API 我对代码做了一些小改动。 我希望用户输入要更改的单词 这是我的node.js代码
var YodaSpeak = require('yoda-speak');
var yoda = new YodaSpeak('hZy4MAVwtbmshFTdDuJSiMxKIxWsp1JSor1jsnuNeLjEVTnbXv');
console.log("Please enter the sentence you want to convert:");
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null) {
yoda.convert(toString(chunk),
function(err, result) {
if (!err) {
console.log(result.toString());
} else {
console.log(err);
}
})
}
});
控制台总是告诉错误消息 我需要如何获取用户输入并将其转换为字符串并将其分配给变量。
提前BTW我们需要安装yoda-speak%npm install --save yoda-speak
错误消息是
Please enter the sentence you want to convert
fjesil
[object undefined].
答案 0 :(得分:0)
yodaspeak不是您的问题所在,而是您从控制台接受文本的方式。 process.stdin.on(
正在添加一个事件监听器,您感兴趣的事件名为data
,而不是undefined
。下面是console.log()在控制台中输入的每个单词的方法:
console.log("Please enter the sentence you want to convert");
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (words) {
console.log(words);
});
现在你所要做的就是把yodaspeak绑回去。
console.log("Please enter the sentence you want to convert");
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (words) {
yoda.convert(words, function (err, result) {
if (!err) {
console.log(result.toString());
} else {
console.log(err);
}
});
});