小编Mat*_*one的帖子

从函数中返回Axios Promise

有人可以解释为什么返回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)

javascript promise axios

26
推荐指数
1
解决办法
5万
查看次数

从现有的"样板"仓库创建新项目

我创建了一个Laravel"样板"项目,其中包含我常用的功能/库.

利用这个样板作为新项目的基础,正确的git过程是什么?我可以想到两个选择:

  1. boilerplatenewproject并开始.我没有任何意图将newproject更改重新纳入boilerplate.
  2. 克隆boilerplate并将远程源更新为新的清洁仓库.

我倾向于第二个选项,因为它感觉就像样板代码一样干净利落.这样做会让我失去任何很酷的git可能性吗?

git github

13
推荐指数
1
解决办法
7621
查看次数

grunt.js - 缩小文件时的多个目标

我的grunt.js有一个典型的缩小任务:

min: {
    dist: {
        src: ['dist/precook.js'],
        dest: 'dist/precook.min.js'
    }
}
Run Code Online (Sandbox Code Playgroud)

拥有多个dest文件的最简单方法是什么?我想缩小成:

  • DIST/precook.min.js
  • 例如/ JS /供应商/ precook.min.js

内置分钟的任务似乎并不支持多目的地,所以我认为这可以通过一个简单的"复制"任务来实现.有人可以指点我正确的方向吗?

javascript node.js gruntjs

11
推荐指数
2
解决办法
8389
查看次数

redux-thunk和调度结果内部的异常处理

我有一个基于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)

asynchronous promise reactjs redux redux-thunk

7
推荐指数
2
解决办法
7916
查看次数

查询带有特定文本的按钮

我有一个(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()进一步限制查询选择器?

reactjs jestjs react-testing-library

7
推荐指数
3
解决办法
7936
查看次数

Foundation 6.5 - 多个XY网格排水沟

我可以使用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)

zurb-foundation xy-grid

6
推荐指数
1
解决办法
362
查看次数