首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能让用户在我的函数执行过程中的任何时候都可以输入"reset“,它会把他们带回函数的开头呢?

我怎样才能让用户在我的函数执行过程中的任何时候都可以输入"reset“,它会把他们带回函数的开头呢?
EN

Stack Overflow用户
提问于 2021-10-12 02:17:23
回答 2查看 31关注 0票数 0
代码语言:javascript
复制
let level = 0;
let usersName;
let path;

const getBotReply = (msg) => {

    if (level === 0) {
        level = 1;
        usersName = msg;
        return "Chur " + usersName + ". Do you live in Raglan?";
    }

    if (level === 1) {
        level = 2;
        if (msg === "yes") {
        path = "left-yes";
        return "Do you know how to surf?";
    }

        if (msg === "no") {
        path = "right-no";
        return "Are you from Auckland?";
    }
}

基本上,我想要它,而不是键入yes或no。用户将键入reset,它将返回到"level 0“

我试过了:

代码语言:javascript
复制
    if (msg === "reset") {
    level = 0;
}
EN

回答 2

Stack Overflow用户

发布于 2021-10-12 03:17:19

在这种情况下,我认为最好包含一个while循环。

代码语言:javascript
复制
while(msg === "reset"){level = 0};
票数 0
EN

Stack Overflow用户

发布于 2021-10-12 09:10:23

如果您将if-check for reset放在顶部,那么您已经正确地完成了,并且您只是忘记了您建议的解决方案中的一个返回?

如果在if-check中没有包含返回字符串,函数将继续运行,因此它将运行下一个If check,匹配级别为0,并假定"reset“是用户名。

因此,如果您包含

代码语言:javascript
复制
if(msg === "reset"{
 level = 0
 return
}

它应该可以很好地工作,您可以将返回留空或包含一条消息。我包含了一个JS小提琴,它实际上是您的代码,带有修复的if check:https://jsfiddle.net/5tu7c20n/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69534364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档