草庐IT

if-then-else

全部标签

javascript - Firebase .then 与 .on ('value' )

我试图让.then()与.on()一起工作,但它只与.once()一起工作.我得到playersRef.on(...).thenisnotafunction,当用on()尝试它时所以我现在拥有的是:letnodesRef=Firebase.database().ref('players')letanswers={}playersRef.on('value',(playersSnapshot)=>{playersRef.once('value').then((playersSnapshot)=>{playersSnapshot.forEach((playerSnapshot)=>{let

javascript - 如果 then 处理程序不返回任何内容,链式 Promise 的解析值是多少?

如果then处理程序没有return语句,则生成的链式promise在bluebird中采用值undefined。但是我看不到它在Promises/A+或任何地方指定的任何地方?可以指望这种行为吗?这是一个测试程序:varPromise=require('bluebird');varp=Promise.resolve('test');p.then(function(s){console.log('s1='+s);//noreturn}).then(function(s){//bluebirdprints"undefined".isthisspecifiedbyastandard?con

javascript - 带有 if 语句的 do-while 循环中的随机数

我正在尝试制作一个随机数生成器,生成一串介于1和9之间的数字,如果它生成一个8,它应该最后显示8,然后停止生成。到目前为止,它打印出12345678,但它不会生成随机数字串,所以我需要知道如何使循环实际生成如上所述的随机数,感谢您的帮助!Javascript//5.BONUSCHALLENGE:Writeawhileloopthatbuildsastringofrandomintegers//between0and9.Stopbuildingthestringwhenthenumber8comesup.//Besurethat8doesprintasthelastcharacter.T

javascript - 对如何使用 .then() 使用 promise 链接查询感到困惑

我似乎无法全神贯注于使用promises链接查询。最让我困惑的是.then(function(doSomething)部分。我应该在函数(doSomething)中放入什么?它有什么作用?有人可以在不使用Promise.all而是使用.then()的情况下为我链接这些查询吗?所以我可以从中学习SELECT*FROMbookswherebook_id=$1SELECT*FROMusernamewhereusername=$2SELECT*FROMsavedwheresaved_id=$3 最佳答案 function(doSomethi

javascript - 将 Javascript If 语句构造为在函数中同步的最佳方法

我问这个问题是为了学习用javascript做某事的“最佳实践”方式。假设我这里有这段代码:varsomeFunc=function(){if(something){//dosomething}if(somethingElse){//dosomethingElse}};问题是确保“something”始终在“somethingElse”之前运行的最佳方法是什么。由于javascript是异步的,我知道我需要某种回调系统来确保这一点。但是,有没有更简单的方法来重构它?如果有很多if语句怎么办?什么是最好的库来干净地做这样的事情?提前致谢。 最佳答案

Javascript if 表达式求值

我想知道Javascriptif表达式何时实际计算为false以及何时为true。if语句什么时候为false,是否对所有JS解释器都是如此?我猜条件是false错误未定义null0否则true。这是否适用于所有实现(在Safari/WebKit控制台中测试),还是我最好使用像(typeofa==="undefined")这样的显式检查? 最佳答案 以下值将评估为false:错误未定义无0NaN空字符串("")https://developer.mozilla.org/en/JavaScript/Guide/Statements#i

javascript - if 语句的作用域

很多时候我需要delcare一个变量只是为了一个真实的if语句。例如:letentry;entry=entries.find(....);if(entry){//useentry}//idontneedentryhere我尝试了类似于for(leti=0;...)的组合,如下所示:if(letentry=entries.find(....)){//userentry}但它不起作用。如果我使用var而不是let它可以工作,但它提升了变量,因此它不限于if语句block。 最佳答案 因为let创建了一个block作用域,你需要在它周围创

javascript - CoffeeScript 编译 : Unexpected IF

我正在为API编写一些CoffeeScript代码,并且在我的代码的错误捕获部分放置了一个IF语句。现在,在编译过程中,CoffeeScript说IF语句是意外的。#HandleErrorsapp.error(err,req,res,next)->iferrinstanceofNotFoundres.send'404,notfound.'elseres.send'500,internalservererror.'app.get'/*',(req,res)->thrownewNotFoundNotFound=(msg)->this.name='NotFound'Error.callthi

javascript - 为什么 Promise.resolve().then() 会延迟?

我不明白为什么resovedPromise延迟.then()参数调用?例子:varmyPromise=Promise.resolve();console.log(myPromise);myPromise.then(()=>console.log('a'));console.log('b');控制台返回:>Promise{:"fulfilled",:undefined}>"b">"a"如果myPromise已经完成,为什么.then()不立即调用resolve函数? 最佳答案 因为,根据规范,promises在当前执行线程展开并完成返

javascript - "Return"超出函数,If 语句在 Lodash forEach() 中

function(){_.forEach(listOfSomething,function(something){if(someCondition){returnfalse}});returntrue;}看起来很简单-尝试检查每个项目的某些条件,如果不满足任何项目退出功能并返回false。当循环完成而不退出时,返回true。总是返回true,尝试了控制台日志记录,它确实达到了“returnfalse”点。我是否遗漏了一些关于js工作原理的明显信息,或者这是一个lodash的东西? 最佳答案 您缺少的是您的returnfalse语句位