小编ale*_*ods的帖子

ES6生成器函数中星号(*)的用途是什么?

有人可以向我解释一下:为什么ES6中的发电机功能标有星号符号?

例如,而不是:

function *someGenerator() {
    yield 1;
    yield 2;
    yield 3;
}
Run Code Online (Sandbox Code Playgroud)

我们可以写:

function someGenerator() {
    yield 1;
    yield 2;
    yield 3;
}
Run Code Online (Sandbox Code Playgroud)

甚至:

var someGenerator = () => {
    yield 1;
    yield 2;
    yield 3;
}

var someObject = {

    someGenerator() {
        yield 1;
        yield 2;
        yield 3;
    }
}            
Run Code Online (Sandbox Code Playgroud)

JS编译器可以在分析时检测到someGenerator包含yield运算符,并从该函数生成一个生成器.

为什么检测yield存在不够?

javascript ecmascript-harmony ecmascript-6

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

如何返回两个视图状态(如$ window.history.go(-2))?

在Ionic我可以回去使用:

var backView = $ionicViewService.getBackView();
backView && backView.go();
Run Code Online (Sandbox Code Playgroud)

问题是如何在backView之前进入视图?就像是:

var backBackView = $ionicViewService.getView(-2);
backBackView && backBackView.go();
Run Code Online (Sandbox Code Playgroud)

javascript angularjs ionic-framework

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

如何检查ES6"变量"是否恒定?

有谁知道一些技巧怎么做?我试着用try-catch:

"use strict";

const a = 20;

var isConst = false;
try {
   var temp = a; a = a+1; a = temp;
} catch (e) {
   isConst = true;
}
Run Code Online (Sandbox Code Playgroud)

但遗憾的是,它仅适用于"严格"模式.没有"use strict",它会默默地执行所有语句,而不进行修改a.此外,我无法将此代码包装到一些方便的函数中(isConstant(someConst)例如),因为我将传递给该函数的任何参数都将是一个新变量.所以任何人都知道如何创建isConstant()功能?

javascript ecmascript-6

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

如何保留数据库中某些实体的更新(差异)

保持数据库中某些实体的更新(差异)的最佳方法是什么?在 StackOverflow,我们可以编辑问题和答案。然后我们可以查看我们想要的问题或答案的任何修订。例如: 修改一些随机问题。也许有人知道它在 StackOverflow 中是如何实现的?

需要明确的是,在我的例子中,我有一些实体 ( article) 和一些字段 ( name, description, content) 。许多用户可以编辑同一篇文章。我想保留文章更新的历史记录(类似于版本控制),并且我想仅保留差异,而不是更新文章的全部内容。顺便说一句,我使用 PostgreSQL,但可以迁移到任何其他数据库。

UPD 开放赏金,所以这里有一些要求。你不需要完全满足他们。但如果你这样做的话,效果会好很多。尽管如此,我们非常感谢任何答案。所以我想拥有一种能力:

  1. 只保留差异,以免无端浪费我的空间。
  2. 获取某些文章的任何修订(版本)。但获取文章的最新版本必须非常快。其他修订的获取速度并不那么重要。
  3. 获取某些文章的任何差异(以及差异列表)。文章的字段可能会发生变化:headerdescriptioncontent(如 StackOverflow 的标题和内容会发生变化),因此必须考虑到这一点。

mysql sql database postgresql

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

IndexedDB:检索具有最大值的项目

假设我有一个IndexedDB名字的集合items.所有项目都有字段:

  • ID
  • 名称
  • 调整

revisionfield是一个数字字段.我需要检索具有最大修订值的项目(或者至少只检索最大修订版本值).最好的方法是什么?

javascript indexeddb

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

ps au的结果| Node.js 中的 grep ssh(使用 spawn/pipe)与 shell 不同

我在玩节点流和子进程。所以我想用管道模拟下一个 shell 命令:

ps au | grep ssh
Run Code Online (Sandbox Code Playgroud)

所以我写了下一个代码:

var spawn = require('child_process').spawn;
var ps    = spawn('ps',   ['au']);
var grep  = spawn('grep', ['ssh']);

ps.stdout.pipe(grep.stdin);

grep.stdout.on('data', function(data) { console.log(data) });
Run Code Online (Sandbox Code Playgroud)

然后我运行它,但没有任何反应。我做错了什么?

PS - 我知道:

require('child_process')
   .exec('ps au | grep ssh', function(err, stdout, stderr) { 
       ... 
   }). 
Run Code Online (Sandbox Code Playgroud)

我只是在玩 Node.js,我想了解这个例子有什么问题。

更新 1:
看来 grepbash程序按预期工作,但 grepssh没有结果。虽然ps au | grep ssh给了我这个结果:

vagrant 11681 0.0 0.1 10464 916 pts/0 S+ 07:54 0:00 grep --color=auto ssh.
Run Code Online (Sandbox Code Playgroud)

javascript pipe child-process node.js

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

NodeJS:为什么util.isFunction不存在?

查看'util'模块的源代码,您可以看到isFunction方法定义:

function isFunction(arg) {
   return typeof arg === 'function';
};
exports.isFunction = isFunction;
Run Code Online (Sandbox Code Playgroud)

但是当我运行node时,util库中缺少'isFunction':

var util = require('util');
'isFunction' in util; //false
Run Code Online (Sandbox Code Playgroud)

我错过了什么?哪里'isFunction'方法正在从'util'中删除?

javascript node.js

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