一个函数如何在不调用调用程序/函数的情况下影响其调用者的流程

时间:2018-04-29 13:00:52

标签: node.js function express middleware

我正在编写一个节点快速应用程序,它也使用控制器,还有Sequelize ORM(但问题也可以应用于Mongoose / Mongo)。在我的userController中,在update方法中,我首先检查用户是否存在,如果不存在,我继续更新记录。

class UserController {
  userExists(req.params.userId) // should check here itself and return user does not exist
}

}

我的问题是如何以这样的方式编写代码:我不需要检查if(userExists),并在调用函数中返回res.status(404).json(),因为这个也将在User.delete中实现。并会导致重复的代码

如何在.helpers / utils.js中实现 以这种方式,如果没有找到用户。 return语句自动影响userController updateUser方法,而无需检查UserExist === true

例如

    public static void ui() {

    Font baseText = new Font("Roboto", Font.PLAIN, 30);

    JFrame mainWindow = new JFrame("Main Window");

    JTextArea textArea = new JTextArea();
    textArea.setFont(baseText);
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
    textArea.setEditable(false);

    JPanel panelButton = new JPanel();
    panelButton.setLayout(new FlowLayout());

    JButton bContinue = new JButton("Continue");
    bContinue.setFont(baseText);

    Path path = FileSystems.getDefault().getPath("beginning.txt");
    try {
        Scanner sc = new Scanner(path);
        while(sc.hasNextLine()){
            slowDisplay(line, textArea);
        }
    } catch (IOException ex) {
        Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex);
    }

    mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    panelButton.add(bContinue);
    mainWindow.add(textArea);
    mainWindow.add(panelButton, BorderLayout.SOUTH);
    mainWindow.setBounds(0, 0, 1920, 1080);
    mainWindow.setVisible(true);
    }

0 个答案:

没有答案