小编Luk*_*gen的帖子

将 redux saga 负载传递给另一个操作的正确方法

我有一个正常运行的 redux 传奇,但我无法停止思考它看起来有多丑。无可否认,我试图做的是在不需要它的情况下模拟异步,但我想延迟一秒钟然后调用另一个函数 -类似于教程。与教程(这是一个简单的增量器)的不同之处在于我实际上需要传递信息。这是我的做法:

import { delay } from 'redux-saga';
import { put, call, takeEvery, all } from 'redux-saga/effects';

// Our worker Saga: will perform the add employee task
export function* addEmployeeAsync(action) {
  yield call(delay, 1000);
  console.log(action); // logs undefined on initial app load
  const payload = action && action.payload;
  yield put({ type: 'ADD_EMPLOYEE', payload });
}

// Our watcher Saga: spawn a new addEmployeeAsync task on each ADD_EMPLOYEE_ASYNC
export function* watchAddEmployeeAsync() {
  yield takeEvery('ADD_EMPLOYEE_ASYNC', addEmployeeAsync);
}    

export …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux redux-saga

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

Angular 1.6.3不允许1.5.8中允许的JSONP请求

Angular 1.6.3不允许允许的请求,1.5.8我收到此错误:

$sce:insecurl
Processing of a Resource from Untrusted Source Blocked
Run Code Online (Sandbox Code Playgroud)

完整错误可在此处获得.

我想升级我的角度版本1.6.3以获得最新和最好的,但我依赖于这个API.有没有办法让我将其标记为可信API或使用此API的其他方式?这两个版本之间的区别是什么?

这是我试图运行的代码:

var app = angular.module('app', []);
app.controller('firstController', ['$http', function($http) {
  console.log('firstController up and running');
  var key = 'XXXXXXXXXXXXX'; // is an actual key
  var self = this;

  self.animal = {};

  self.getRandomPet = function(){
    var query = 'http://api.petfinder.com/'; // baseURL for API
    query += 'pet.getRandom'; // selecting the method we would like to return
    query += '?key=' + key; // Giving …
Run Code Online (Sandbox Code Playgroud)

javascript jsonp angularjs angularjs-http angularjs-1.6

4
推荐指数
1
解决办法
4325
查看次数

在Github Markdown中显示React代码

我正在尝试在Github上创建一个React教程,但是我遇到了让Github格式化与我想要显示的内容对齐的问题.我想显示这段代码:

```JavaScript
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

class Child extends Component {
  render() {
    return (
        <p className="App-intro">
          I'm a childish component
        </p>
    );
  }
}

export default Child;
```
Run Code Online (Sandbox Code Playgroud)

但是在Github上,它看起来像这样:

在此输入图像描述

单引号是问题吗?由于JavaScript/HTML混合,Github无法复制React吗?

markdown github reactjs

4
推荐指数
1
解决办法
1059
查看次数

AirBnB Linter 在同一行中进行多次柯里化,使其太长

我似乎遇到了 AirBnB linting 悖论。

我有以下几行:

const pagePromiseGenerator = (graphql, createPage) => (gqlNodeName, pageComponent) => new Promise((resolve, reject) => {
Run Code Online (Sandbox Code Playgroud)

长度超过 100 个字符。所以我可以将其转换为:

const pagePromiseGenerator = (graphql, createPage) => {
  return (gqlNodeName, pageComponent) => new Promise((resolve, reject) => {
Run Code Online (Sandbox Code Playgroud)

但这违反了爱彼迎箭头主体样式规则。我应该禁用该行的 linting,还是有更好的方法?

eslint eslint-config-airbnb

4
推荐指数
1
解决办法
4230
查看次数

我可以从 Dockerfile 中删除“RUN apk add --no-cache python2 g++ make”吗?

在我遵循的docker 教程中,它告诉我将以下命令放入我的Dockerfile

# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
Run Code Online (Sandbox Code Playgroud)

我了解所有线路都在做什么,除了:

RUN apk add --no-cache python2 g++ make
Run Code Online (Sandbox Code Playgroud)

没有它,一切似乎都可以正常进行。我可以从我的 中删除这一行Dockerfile吗?删除这一行会给我带来问题吗?为什么我在这个节点项目中需要任何“python”的东西?

docker dockerfile

4
推荐指数
1
解决办法
3321
查看次数

检查用户是否在给定的一天使用API​​提交Github

我正在尝试构建一个应用程序来跟踪GitHub"Streaks"(用户已经连续多少天致力于GitHub.)我正在尝试使用GitHub API来做到这一点,但我无法弄清楚在哪里.

如果我不能拉回条纹,如果我能找到一种方法来查看他们是否在某一天(如昨天)犯了错,我可以通过继续检查前一天直到没有提交来递归地确定连胜.

我可以找到有关特定提交的详细信息https://developer.github.com/v3/repos/commits/

我可以为单个用户检索数据:https: //developer.github.com/v3/users/#get-a-single-user

但我似乎无法找到如何查询API以确定用户是否在某一天进行了提交.

github github-api

3
推荐指数
1
解决办法
544
查看次数

在没有公共 URL 的 Node.js 中从 Google Cloud Storage 检索图像

我正在尝试将图像返回给我的用户以在 DOM 上查看而不创建图像的公共链接(此路由在取回图像之前受我的服务器的身份验证保护)。这是我迄今为止尝试过的方法,但这可能是错误的方法。

我正在按照带有 Node.js 的 Google Cloud Storage 指南将图像上传添加到我的项目中。我现在可以上传工作并且图像保存在 Google Cloud Storage 中。该指南显示了如何检索公共 URL:

https://cloud.google.com/nodejs/getting-started/using-cloud-storage

我正在尝试使用文件流而不是公共 URL,这样我的图像就不会公开。我猜它看起来类似于此存储库中的流:https : //github.com/GoogleCloudPlatform/google-cloud-node

但我试图在 HTTP 响应中返回图像,而不是简单地将它们本地存储在我的文件系统上。

我的客户端 Javascript 得到了一个看起来像一个巨大 blob 的响应。????JFIF???Photoshop 3.08BIM?元数据让我认为这实际上是正确的图像,但我不知道如何让它看起来像图像。

这是我的节点服务器文件。上传到 Google Cloud Storage 的/post,正在工作,我可以看到正在添加的图像。

谷歌云存储上传工作

/get被返回是什么样子,似乎喜欢它是我想要的图像(就像一个奇怪的斑点,我不知道如何转换)一个巨大的斑点。

我的代码如下所示:

var express = require('express');
var router = express.Router();
const Multer = require('multer');
const multer = Multer({
  storage: Multer.memoryStorage(),
  limits: {
    fileSize: 5 * 1024 * 1024 // no larger than 5mb, you can change as needed.
  } …
Run Code Online (Sandbox Code Playgroud)

node.js google-cloud-storage

2
推荐指数
1
解决办法
4163
查看次数

当需要express时,它是一个函数还是一个对象?

当我将express引入我的项目并创建一个新的express应用程序时,我从这两行代码开始

var express = require('express');
var app = express();
Run Code Online (Sandbox Code Playgroud)

在我看来,这就像express一个返回app我创建的对象的函数。但后来我能够使用express.static()这让我认为这express是一个带有方法的对象static

app.use(express.static('public'));
Run Code Online (Sandbox Code Playgroud)

当我需要它时express,它似乎记录一个对象,所以我很好奇express()如果它是一个对象,如何返回某些东西?我最后的猜测是express是一个函数,但是因为这是javascript,函数是对象并且它也可以有属性?其中任何一个接近准确吗?

javascript node.js express

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

正则表达式匹配无数个连字符后跟数字

我无法弄清楚正则表达式匹配以下内容:

#1234
#1234-1234
#1234-1234-1234
#123524-12123534-123354
#1234-1234-1234-1234-1234-1234-1234
Run Code Online (Sandbox Code Playgroud)

这个正则表达式

/^#([0-9]+-[0-9+]+-[0-9+]+)|#(\d+)$/
Run Code Online (Sandbox Code Playgroud)

火柴

#1234
#1234-1234-1234
#123524-12123534-123354
Run Code Online (Sandbox Code Playgroud)

但是我希望-873459用户可能输入的数量不限.我一直在看正则表达式的电话号码,但这似乎并没有这样做,因为他们限制在3个连字符.

以下是一个实例:https://regex101.com/r/yRSeI6/1

理想情况下,无论发现什么都是第1组,但这可能会提出很多要求.

regex

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