Tag: if语句

在if语句中使用child_process.exec的返回值?

我有这个function: function checkfType(a,b){ exec("file '"+a+"'",function(err,stdout,stderr){ if(stdout.containsString(b)===true){return true}else{return false} }) } 但是,如果我在if语句中使用if(checkfType(".","directory"){} ,它只是变成“false”。我将exec函数作为非函数进行testing,并使用它来代替if语句: exec("file '.'",function(err,stdout,stderr){ if(stdout.containsString("directory")===true){ console.log("It works!); }else{ console.log("It doesn't work.";} }); 这工作得很好。 我被引导认为exec函数是asynchronous的(或类似的),这是我的问题所在。 有没有办法在if语句中使用exec的输出?

如果子句在recursion函数中

我试图build立一个遍历Dom树的函数,当且仅当节点名称不等于script和style 。 这里是function: public static void PostOrderTR(Node node) throws XPathExpressionException, MalformedURLException, SAXNotRecognizedException, SAXNotSupportedException, ParserConfigurationException, IOException, SAXException { if (node == null || node.getNodeName() == null) { return; } if(!"script".equals(node.getNodeName())||!"style".equals(node.getLocalName())|| !"style".equals(node.getNodeName())) { //do something PostOrderTR(node.getFirstChild()); } if(!"script".equals(node.getNodeName())||!"style".equals(node.getLocalName())|| !"style".equals(node.getNodeName())) PostOrderTR(node.getNextSibling()); } 但在实践中,结果完全相反。 它遍历所有的节点,包括script和style 。 我已经尝试用||replace&& 没有什么改变。

代码模式相当于链接如果/ elseif在阻塞条件在节点JS?

我想在Node.JS中写入以下同步代码的等价物: function(param) { if(condition1(param)) {f(param);} else if(condition2(param)){g(param);} else if(condition3(param)){h(param);} … } 在条件的validation可能做一些数据库,文件系统,甚至HTTP I / O; 所以不应该在这样的同步代码中运行。 简单但肮脏的解决scheme:可以像回答这个问题一样链接callback如何在Node JS中编写一个非阻塞的if语句? 但是,当条件数量很多时,很容易变得难以理解和难以修改(例如改变条件的顺序)。 有没有一个很好的模式,可以用来保持这样的代码整洁?

翡翠模板如果声明

我有一个玉的模板文件,我试图运行基于每个循环内的JSON对象的条件。 我做错了什么让if语句工作? each content in result.content .panel.panel-default.result .panel-heading.clearfix a.gray(href='/content/#{content.id}') #{content.created_pretty} a.btn.btn-primary.btn-sm.view(href="/content/#{content.id}") View .status .well span.label.label-default #{content.priority} if "#{content.priority}" == "URGENT" .well span.badge ! 如果我将条件更改为 if "URGENT" == "URGENT" 代码确实运行成功。 我也试过了: if '"#{content.priority}" == "URGENT"' – if ("#{content.priority}" == "URGENT") 任何hlp将不胜感激!

复杂的IF语句问题

if语句中有一个复杂的条件,不知怎么的,我不知道该怎么做。 if ( (statementA1) || (statementA2) && (statementB) && (statementC) ) { doSomething } A1和A2不能同时为真(因为实际陈述的性质)。 而且, B和C都必须评估真实性,才能得出一个完整的结论。 所以只有为了true false true true false true true true应该回true ; 任何其他排列都应该返回false 。 由于它们内在的复杂性(包括Math.abs() , A1和B具有内部的,组合的子状态),这些语句被放置在大括号中。

Node.JS – fs.exists不工作?

我是Node.js的初学者,在这段代码中遇到了麻烦。 var fs = require('fs'); Framework.Router = function() { this.run = function(req, res) { fs.exists(global.info.controller_file, function(exists) { if (exists) { // Here's the problem res.writeHead(200, {'Content-Type':'text/html'}); var cname = App.ucfirst(global.info.controller)+'Controller'; var c = require(global.info.controller_file); var c = new App[cname](); var action = global.info.action; c[action].apply(global.info.action, global.info.params); res.end(); } else { App.notFound(); return false; } }); } […]