async在await循环中使用是否有任何问题?我正在尝试循环遍历文件数组和forEach每个文件的内容.
import fs from 'fs-promise'
async function printFiles () {
const files = await getFilePaths() // Assume this works fine
files.forEach(async (file) => {
const contents = await fs.readFile(file, 'utf8')
console.log(contents)
})
}
printFiles()
Run Code Online (Sandbox Code Playgroud)
这段代码确实有效,但这可能会出错吗?我有人告诉我你不应该使用await这样的高阶函数,所以我只是想问一下这是否有任何问题.
我尝试作出反应,路由器(V4)和我有开始关闭导航到具有的一个问题Link的是active.如果我点击任何Link标签,那么活动的东西就会开始工作.但是,我希望Home Link能够在应用程序启动时立即激活,因为这是在/路径上加载的组件.有没有办法做到这一点?
这是我目前的代码:
const Router = () => (
<BrowserRouter>
<div>
<Nav>
<Link activeClassName='is-active' to='/'>Home</Link> {/* I want this to start off as active */}
<Link activeClassName='is-active' to='/about'>About</Link>
</Nav>
<Match pattern='/' exactly component={Home} />
<Match pattern='/about' exactly component={About} />
<Miss component={NoMatch} />
</div>
</BrowserRouter>
)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用material-ui创建一个简单的导航栏,看起来就像他们在网站上使用的那个.这是我写的试图复制它的代码:
import React from 'react'
import {AppBar, Tabs, Tab} from 'material-ui'
class Nav extends React.Component {
render() {
return (
<AppBar title="My App">
<Tabs>
<Tab label="Item 1" />
<Tab label="Item 2" />
<Tab label="Item 3" />
<Tab label="Item 4" />
</Tabs>
</AppBar>
)
}
}
React.render(<Nav />, document.body)
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感谢.
我一直在努力制作一个反应和减速秒表.我一直在努力弄清楚如何在redux中设计这样的东西.
首先想到的是有一个START_TIMER设置初始offset值的动作.在那之后,我用来反复setInterval触发一个TICK动作,通过使用偏移计算已经过了多少时间,将其添加到当前时间,然后更新offset.
这种方法似乎有效,但我不确定如何清除间隔来阻止它.此外,似乎这种设计很差,可能有更好的方法.
这是一个完整的JSFiddle,它具有START_TIMER正常运行的功能.如果您只是想看看我的减速机现在的样子,这里是:
const initialState = {
isOn: false,
time: 0
};
const timer = (state = initialState, action) => {
switch (action.type) {
case 'START_TIMER':
return {
...state,
isOn: true,
offset: action.offset
};
case 'STOP_TIMER':
return {
...state,
isOn: false
};
case 'TICK':
return {
...state,
time: state.time + (action.time - state.offset),
offset: action.time
};
default:
return state;
}
}
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助.
有没有办法将Sublime的选择资本化?例如,如果我有一些文字word,我想输出Word.
我知道已经有一个选项可以将case转换为小写或大写,但是这些会分别导致word和WORD.有没有办法只把首字母大写?
有没有办法将页脚保持在页面底部,即使没有很多内容?我跟着Materialise的页面上的说明和有我之间的所有HTML <header>,<main>和<footer>标签.我根本没有将任何自己的CSS应用到页脚.
任何帮助,将不胜感激.
这是我的HTML:
<body>
<header>
<nav role="navigation">
<div class="nav-wrapper container"><a id="logo-container" href="/" class="brand-logo">Some Title <i class="material-icons left hide-on-med-and-down">apps</i></a>
<ul id="dropdown" class="dropdown-content">
<li><a href="">Register</a></li>
<li class="divider"></li>
<li><a href="">Sign In</a></li>
</ul>
<ul class="right hide-on-med-and-down">
<li id="timer-tab"><a href="">Tab 1</a></li>
<li id="stats-tab"><a href="">Tab 2</a></li>
<li id="graphs-tab"><a href="">Tab 3</a></li>
<li><a href="" data-activates="dropdown" class="dropdown-button">Tab 4<i class="material-icons right">arrow_drop_down</i></a></li>
</ul>
</div>
</nav>
</header>
<main>
<div class="container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et …Run Code Online (Sandbox Code Playgroud) 我有一系列开始/停止时间.我基本上想要显示每个条目花费的时间,以及所有条目的总时间.这是我写的尝试这样做的代码:
function timeFormatter (milliseconds) {
const padZero = (time) => `0${time}`.slice(-2);
const minutes = padZero(milliseconds / 60000 | 0);
const seconds = padZero((milliseconds / 1000 | 0) % 60);
const centiseconds = padZero((milliseconds / 10 | 0) % 100);
return `${minutes} : ${seconds} . ${centiseconds}`;
}
// Example stopwatch times
const timeIntervals = [
{ startTime: 1470679294008, stopTime: 1470679300609 },
{ startTime: 1470679306278, stopTime: 1470679314647 },
{ startTime: 1470679319718, stopTime: 1470679326693 },
{ startTime: 1470679331229, stopTime: 1470679336420 }
];
// …Run Code Online (Sandbox Code Playgroud)编辑:这是一个完整的GitHub回购的最小示例,显示了该问题.
我有一个简单的Counter应用程序.以下是我的动作创作者:
actions.js
/**
* @flow
*/
import { INCREMENT, DECREMENT } from '../constants'
type Action =
| { type: 'INCREMENT' }
| { type: 'DECREMENT' }
function increment(): Action {
return {
type: INCREMENT
}
}
function decrement(): Action {
return {
type: DECREMENT
}
}
export { increment, decrement }
export type { Action }
Run Code Online (Sandbox Code Playgroud)
目前,我在increment和decrement函数中都收到错误,这些错误表明对象文字无法决定选择联合类型的情况.
要修复这些错误,我可以更改type: INCREMENT为type: 'INCREMENT'并更改type: DECREMENT为type: 'DECREMENT'.但是,我将在多个地方使用这个常量(比如reducer),所以我希望能够导入常量并在那里使用它.这不是它在flowtype中完成的方式吗? …
我正在尝试在项目之间切换时添加过渡效果.这个代码目前有效,但我宁愿在切换项目时有一些淡入淡出效果.这可能吗?
这是一个jsfiddle,如果这有帮助的话.谢谢!
我的代码:
HTML
<body>
<div id="proj_name"></div>
<div id="proj_description"></div>
<img id="proj_img" src=""><br>
<button id="proj_switcher">Next Project</button>
</body>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
/**
* Constructor function for Projects
*/
function Project(name, description, img) {
this.name = name;
this.description = description;
this.img = img;
}
// An array containing all the projects with their information
var projects = [
new Project('Project 1', 'Project 1 Description', 'http://bit.ly/1E0IzpX'),
new Project('Project 2', 'Project 2 Description', 'http://bit.ly/1FHLGOt'),
new Project('Project 3', 'Project 3 Description', 'http://bit.ly/1H5wRt7'),
new Project('Project 4', 'Project 4 …Run Code Online (Sandbox Code Playgroud) 我正在阅读这个for.. of在Map上使用循环的例子,我对这种语法有点困惑:
var myMap = new Map();
myMap.set(0, "zero");
myMap.set(1, "one");
for (var [key, value] of myMap) {
console.log(key + " = " + value);
}
Run Code Online (Sandbox Code Playgroud)
具体来说,我不明白正在发生的数组解构.我知道你可以使用数组解构来做类似的事情let [one, two] = [1, 2];,但是这个例子中发生了什么?myMap这不是一个数组,为什么这会得到正确的值?
我的另一个问题是为什么是key, value解构中的订单,但是当你执行forEach()订单时value, key,就像这里:
myMap.forEach((value, key) => {
console.log(key + " = " + value);
});
Run Code Online (Sandbox Code Playgroud) javascript ×8
ecmascript-6 ×4
reactjs ×3
html ×2
redux ×2
async-await ×1
capitalize ×1
css ×1
dictionary ×1
flowtype ×1
footer ×1
material-ui ×1
materialize ×1
node.js ×1
precision ×1
promise ×1
react-router ×1
rounding ×1
sublimetext ×1
sublimetext2 ×1
sublimetext3 ×1
transition ×1