小编Ivá*_*hez的帖子

为什么 Promise.all() 触发 Array.prototype.then 如果定义?

有以下代码...

const array = [
  Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)
];

Array.prototype.then = function () {
  console.log('Why does this gets triggered?');
}

Promise.all(array)
  .then(result => console.log(result))
Run Code Online (Sandbox Code Playgroud)

为什么它Promise.all()本身会.then()在 Array 上调用我的proto 函数?

当然,它必须调用.then()数组中的每个元素。这很明显。但是在 Array 本身上这样做的目的是什么?

这种行为发生在 V8 上

要考虑:如果您更改Promise.all()Promise.race()这种情况不会发生。

我并不是说这是一个错误。我只是想了解原因。如果您能在答案中引用 EcmaScript 规范,我将不胜感激。

更新: 我知道Promise.all()返回一个数组但包装在一个承诺上。这也是显而易见的。如果删除.then()喜欢...

Promise.all(array)
Run Code Online (Sandbox Code Playgroud)

它仍然执行该.then()方法。

javascript v8 ecma promise ecmascript-6

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

Typescript:如何从类类型获取私有属性?

是否可以使用泛型来检查类上的私钥/受保护密钥?

这是我的代码:

export type SubjectListenerCloneTypeFrom<T, N extends keyof T> = UnPromisify<
  ClassReturnType<T, N>
>;
Run Code Online (Sandbox Code Playgroud)

但这样的话,create那是私有方法,不会显示出来

在此输入图像描述

type-inference typescript typescript-generics angular

6
推荐指数
0
解决办法
1018
查看次数

Typescript:在类中扩展 Set 会导致错误(构造函数 Set 需要“new”)

我正在尝试对 Set 对象实现一些基本操作,如下所示

这是代码

export class Conjunto extends Set<any>{
  constructor(initialValues?) {
    super();
    return new Conjunto(initialValues);
  }

  isSuperset(subset) {
    //some code
  }
}
Run Code Online (Sandbox Code Playgroud)

你们有什么想法让它发挥作用吗?或者我做错了什么?

目前我正在使用这个人在这里找到的黑客

javascript ecmascript-5 typescript angular

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

在异步函数上将catch异常重新抛出到上层

在异步函数中将错误抛出到较高级别

这个

async create(body: NewDevice, firstTry = true): Promise<RepresentationalDevice> {
  try {
    return await this.dataAccess.getAccessToken()
  } catch (error) {
    throw error
  }
}
Run Code Online (Sandbox Code Playgroud)

VS这个

async create(body: NewDevice, firstTry = true): Promise<RepresentationalDevice> {
  return await this.dataAccess.getAccessToken()
}
Run Code Online (Sandbox Code Playgroud)

我的意思是在最后一级我必须抓住错误,并且在捕获时根本没有任何修改

这两种方法是否相同?我可以使用第二种方法而不会出现错误处理问题吗

javascript ecmascript-2017

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

无法在5.4上安装Laravel / Passport

我正在关注文档,所以我运行了它。

作曲家需要laravel /护照

但这就是我得到的...

Using version ^6.0 for laravel/passport
./composer.json has been updated

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laravel/passport v6.0.7 requires illuminate/database ~5.6 -> satisfiable by illuminate/database[5.6.x-dev, 5.7.x-dev, 5.8.x-dev, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, …
Run Code Online (Sandbox Code Playgroud)

php laravel composer-php laravel-passport laravel-5.4

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

Laravel:为 json 字段/列定义规则或架构

我的数据库中有一个列,它是 json 类型:values.
但我需要强制执行一个模式。

  • 它必须是一个数组
  • 每个对象必须有 2 个且只有 2 个属性(必需)。code_name, 和description
  • code_name 在该 JSON 数组中必须是唯一的

Laravel 是否有一些开箱即用的功能?还是我需要在创建和更新时手动解码 json 以验证该规则?

直到现在。我的模型中只有这个验证规则:

/**
 * The model validation rules.
 *
 * @var array
 */
public static $rules = [
    'values' => 'required|json', // TO BE CHECKED (values validation (json schema) and setter)
];
Run Code Online (Sandbox Code Playgroud)

但这还不够。

重要提示:这不是重复的问题:Laravel:验证 json 对象

validation laravel laravel-5

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

Sails.js / Nodejs / Json 支持表情符号

有没有办法在 Sails REST api 上使用表情符号?我的表带有 utf8mb4_unicode_ci,手动我可以正确存储表情符号。但是在 web 视图和 api 响应上,它显示为一个问号“?”。

请。欢迎您提供任何提示。

谢谢

更多信息:

例如,我用这个点击了 api

{
    "name": "hello",
    "body": "Testing on node  v6.9  x4",
    "label": "info",
    "user": 1
}
Run Code Online (Sandbox Code Playgroud)

但回应是:

{
  "name": "hello",
  "body": "Testing on node  v6.9 ???? x4",
  "label": "info",
  "thanks": 0,
  "notUseful": 0,
  "createdAt": "2016-12-28T15:30:26.000Z",
  "updatedAt": "2016-12-28T15:30:26.000Z",
  "id": 105,
  "user": 1,
  "topic": null
}
Run Code Online (Sandbox Code Playgroud)

api rest json node.js sails.js

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