TOGOUTECH

arrow-functions

全部标签

javascript - await 的异步映射函数返回 Promise 而不是值

我有这个代码asyncfunctionaddFiles(dir,tree){return(awaitreadDir(dir)).map(async(name)=>{awaitreadDir(dir);returnname;})}但不幸的是,它只返回一堆promise,因为map中的异步函数没有被等待。我想知道是否有任何方法可以等待上面代码中的映射函数。 最佳答案 尝试asyncfunctionaddFiles(dir,tree){constfiles=awaitreadDir(dir)awaitPromise.all(file

javascript - 从 RxJS subscribe() 函数访问声明为组件的变量

我可以使用this.variable访问组件任何部分的变量,除了像subscribe()或catch()这样的RxJS函数内部。在下面的示例中,我想在运行进程后打印一条消息:import{Component,View}from'angular2/core';@Component({selector:'navigator'})@View({template:'./app.component.html',styles:['./app.component.css']})exportclassAppComponent{messag

javascript - 为什么 Google Chrome 不支持这种 JavaScript 语法?

我像这样启动了一个JavaScript/jQuery点击监听器:$("#test").on("click",()=>{console.log("test");});这段代码在Firefox中工作得很好,但在Chrome中这似乎给我一个语法错误。这是为什么,因为这对我来说看起来像是“ok”语法。您可以通过以下操作在控制台中快速测试它vara=()=>{return0;}a();在Firefox27.0.1中返回0在Chrome中它返回SyntaxError:Unexpectedtoken) 最佳答案

javascript - VueJS : Difference of data() { return {} } vs data:() => ({ })

我很好奇这两个数据函数,这两者之间有什么区别吗?我平时看到的是data(){return{obj}}还有我通常使用的ES6胖箭头(=>)data:()=>({obj}) 最佳答案 在你的具体例子中没有区别,但是这两个符号之间有一个非常重要的区别,特别是当涉及到Vue.js时:this不会在箭头函数中反射(reflect)vue实例。所以如果你有这样的事情:exportdefault{props:['stuffProp'],data:()=>({myData:'someData',myStu

javascript - 使用 ES6 箭头函数是否有性能提升?

ES6中新的箭头函数,就像单行函数,让代码更干净简洁,也允许你将调用者的范围保留在函数内,这样你就不需要做像var_this=this;,或者使用bind函数等与普通JavaScript函数相比,使用ES6箭头函数是否有显着的性能提升? 最佳答案 请记住,这个问题不可能有一个通用的答案,因为所有答案都取决于实现。因此,现在或某些浏览器的答案可能是X,将来或其他浏览器的答案可能是Y。这些规定说了,这里有一些数据:http://incaseofstairs.com/six-speed.目前,对于主流浏览器,答案是否,甚至可能会出现性能损

javascript - ES6 立即调用递归箭头函数

这是我当前的代码:constfn=parameter=>{//if,else...fn(X);};fn(0);现在,我不能使用thisapproach因为我需要使用参数调用该函数,并且它必须可以递归调用。如何重构上述箭头函数使其立即调用并递归调用? 最佳答案 JavaScript为递归函数提供了一个很好的解决方案:命名函数表达式。因此我建议使用它而不是箭头函数:(functionfn(parameter){//if,else...fn(x);})(0); 关于javascript-

javascript - 绑定(bind) vs 箭头函数(在 JavaScript 中,或用于响应 onClick)

所以我正在尝试学习JavaScript和/或react并且对理解.bind(this)有点困惑构造函数。不过,我现在想明白了,只是想知道,为什么有人会在JavaScript中使用绑定(bind)而不是箭头函数?(或在onClick事件中)。使用一个与另一个相比有什么优缺点吗?请参阅下面的代码示例。绑定(bind)方法确保clickEvent函数中的this引用类:classClickextendsreact.Component{constructor(props){super(props)this.clickEvent=this.clickEvent.bind(this);}rende

javascript - 没有箭头功能的setInterval函数

我正在按照文档https://facebook.github.io/react/docs/state-and-lifecycle.html学习React组件这里为什么要用箭头函数:this.timerID=setInterval(()=>this.tick(),1000);为什么我不能直接说(显然是行不通的)this.timerID=setInterval(this.tick(),1000); 最佳答案 setInterval的第一个参数是function类型。如果你这样写:this.timerID=setInterval(t

javascript - 是否可以在 ES6 的类中使用箭头函数?

我的问题很简单。如果我在ES6中有一个类,是否可以在其中使用箭头函数?importReact,{Component}from'react';exportdefaultclassSearchFormextendsComponent{state={searchText:''}onSearchChange=e=>{this.setState({searchText:e.target.value});}handleSubmit=e=>{e.preventDefault();this.props.onSearch(this.query.value);e

javascript - 带有静态箭头函数的类

我目前正在实现staticland规范(幻想世界的另一种选择)。我不仅想使用普通对象作为类型,还想使用带有静态方法的ES2015类。我已经将这些静态方法实现为柯里化(Currying)形式的箭头函数,而不是普通函数。然而,这对于ES2015类是不可能的:classListextendsArray{staticmap=f=>xs=>xs.map(x=>f(x))staticof=x=>[x]}我的map不需要它自己的this,因为它只是List构造函数上的柯里化(Currying)函数。为了让它工作,我必须编写staticmap(f){returnxs=>xs.m