有人可以解释为什么返回Axios承诺允许进一步链接,但应用then()/catch()
方法后返回不?
例:
const url = 'https://58f58f38c9deb71200ceece2.mockapi.io/Mapss'
function createRequest1() {
const request = axios.get(url)
request
.then(result => console.log('(1) Inside result:', result))
.catch(error => console.error('(1) Inside error:', error))
return request
}
function createRequest2() {
const request = axios.get(url)
return request
.then(result => console.log('(2) Inside result:', result))
.catch(error => console.error('(2) Inside error:', error))
}
createRequest1()
.then(result => console.log('(1) Outside result:', result))
.catch(error => console.error('(1) Outside error:', error))
createRequest2()
.then(result => console.log('(2) Outside result:', result))
.catch(error => console.error('(2) Outside error:', error))
Run Code Online (Sandbox Code Playgroud)
<script …
Run Code Online (Sandbox Code Playgroud)我创建了一个Laravel"样板"项目,其中包含我常用的功能/库.
利用这个样板作为新项目的基础,正确的git过程是什么?我可以想到两个选择:
boilerplate
到newproject
并开始.我没有任何意图将newproject
更改重新纳入boilerplate
.boilerplate
并将远程源更新为新的清洁仓库.我倾向于第二个选项,因为它感觉就像样板代码一样干净利落.这样做会让我失去任何很酷的git可能性吗?
我的grunt.js有一个典型的缩小任务:
min: {
dist: {
src: ['dist/precook.js'],
dest: 'dist/precook.min.js'
}
}
Run Code Online (Sandbox Code Playgroud)
拥有多个dest文件的最简单方法是什么?我想缩小成:
该内置分钟的任务似乎并不支持多目的地,所以我认为这可以通过一个简单的"复制"任务来实现.有人可以指点我正确的方向吗?
我有一个基于Redux文档的基本的thunk动作创建者和减速器:http : //redux.js.org/docs/advanced/AsyncActions.html
// action creator
function fetchPosts () {
return dispatch => {
dispatch({ type: 'FETCH_POSTS_REQUEST' })
return fetch('http://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(json => dispatch({ type: 'FETCH_POSTS_SUCCESS', items: json }))
// THIS CATCHES FETCH REQUEST ERRORS, AND COMPONENT LEVEL ERRORS
.catch(error => dispatch({ type: 'FETCH_POSTS_FAILURE', error: error.message }))
}
}
// reducer
function reducer (state = { isFetching: false, items: [] }, action) {
switch (action.type) {
case 'FETCH_POSTS_REQUEST':
return Object.assign({}, state, { isFetching: true })
case 'FETCH_POSTS_SUCCESS': …
Run Code Online (Sandbox Code Playgroud) 我有一个(Jest)测试来确定按钮是否存在:
it('renders a signup button', () => {
expect(sut.getByText('Sign up for free')).toBeDefined()
})
Run Code Online (Sandbox Code Playgroud)
这个测试是因为组件中有一个按钮和带有“免费注册”文本的标题。
Atestid
可以添加到按钮,但我更愿意遵循模拟用户行为的反应测试库原则。
我觉得用户想要“点击标有‘免费注册’的按钮是合法的”。在这种情况下,指定 HTML 元素的类型是有意义的,因为 a<button />
对用户来说是一个独特的元素,而不是<h2 />
vs <h3 />
。
如何查询标记为“免费注册”的按钮元素?例如可以getByText()
进一步限制查询选择器?
我可以使用Foundation XY Grid SASS mixins来创建网格装订线变化吗?
例如,我想要一个带有30px装订线的网格和一个带有10px装订线的网格.网格之间没有其他差异.
<!-- Regular (30px) grid gutter ->
<div class="grid-x grid-margin-x">
<div class="cell medium-6">
</div>
<div class="cell medium-6">
</div>
</div>
<!-- Custom (10px) grid gutter -->
<div class="grid-x grid-margin-x--small">
<div class="cell medium-6">
</div>
<div class="cell medium-6">
</div>
</div>
Run Code Online (Sandbox Code Playgroud) javascript ×2
promise ×2
reactjs ×2
asynchronous ×1
axios ×1
git ×1
github ×1
gruntjs ×1
jestjs ×1
node.js ×1
redux ×1
redux-thunk ×1
xy-grid ×1