小编Gaj*_*jus的帖子

发布可观察量的最后一个值

我有一个热门的观察者(在这种情况下是一个主题):

var subject = new Rx.Subject();
Run Code Online (Sandbox Code Playgroud)

我想创建另一个observable,每次创建新订阅时,都会立即触发生成的最后一个值.

所以在伪代码中:

var myObservableWithLastValue = subject.publishLast();

subject.onNext(3);

myObservableWithLastValue.subscribe(function(x){
    console.log(x); //should write 3
});

myObservableWithLastValue.subscribe(function(x){
    console.log(x); //should write 3, too
});

subject.onNext(4);

myObservableWithLastValue.subscribe(function(x){
    console.log(x); //should write 4
});
Run Code Online (Sandbox Code Playgroud)

这大致是我想要的,似乎有效.但是,我想必须有一些内置的机制来实现相同的目标

Rx.Observable.prototype.keepLatest = function () {
    var latestValue;

    var disposable = this.subscribe(function (value) {
        latestValue = value;
    });

    return Rx.Observable.create(function (observer) {
        observer.onNext(latestValue);
        return disposable.dispose;
    });
};
Run Code Online (Sandbox Code Playgroud)

reactive-extensions-js rxjs

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

使用变换:缩放会导致模糊图像

在我们的目录视图(在线商店)中,我们使用javascript来获取产品的不同视图,并使用CSS缩小图像.3连续/ 4或5 /

在此输入图像描述

默认视图为4:

-webkit-transform: scale(0.83);
-moz-transform: scale(0.83);
-ms-transform: scale(0.83);
-o-transform: scale(0.83);
transform: scale(0.83);
Run Code Online (Sandbox Code Playgroud)

一切正常,但在野生动物园中图像看起来非常模糊.有没有办法改善野生动物园的渲染?更大图片:http://i.stack.imgur.com/NaFeB.jpg

在此输入图像描述

safari transform scale css3

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

如何获得translateX和translateY的价值?

我希望translateY通过JavaScript从内联css中获取价值.

这是内联值:

style ="transition-property: transform; transform-origin: 0px 0px 0px; transform: translate(0px, -13361.5px) scale(1) translateZ(0px);"
Run Code Online (Sandbox Code Playgroud)

这些代码给了我变量中的总列表:

var tabletParent = document.getElementById("scroller");
var toTop = tabletParent.style.transform;
console.log(toTop);
Run Code Online (Sandbox Code Playgroud)

console.log

translate(0px, -12358.8px) scale(1) translateZ(0px)
Run Code Online (Sandbox Code Playgroud)

预期toTop-12358.8px.

javascript transition transform css3

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

如何在FireFox中获取SVG元素尺寸?

在大多数浏览器中,以下操作都可以.

window.onload = function(){
    console.log( document.getElementById('svgElm').getBoundingClientRect().width );
};
Run Code Online (Sandbox Code Playgroud)

这是一个演示.如果您在Google Chrome中试用,则会输出控制台200.但是,FireFox会返回0.

firefox svg

17
推荐指数
2
解决办法
5777
查看次数

检测浏览器是否支持WebP格式?(服务器端)

已经有一个关于使用客户端检测WebP支持的线程.如何使用服务器端检测WebP支持?

php webp

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

使用ES6 getter和setter而不是getProperty/setProperty约定的理由是什么?

class Foo {
    getName = () => this.name;

    setName = (name) => this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

class Foo {
    get name () {
        return this.name;
    }

    set name (name) {
        this.name = name;
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以想到ES6吸气剂处于劣势的几个例子,例如

您不能编写将根据参数值返回值的getter:

/**
 * Returns an instance of Card associated with an element.
 *
 * @param {HTMLElement} element
 * @return {Card|undefined}
 */
getCard = (element) => {
    return _.find(this.index, {
        element: element
    });
};
Run Code Online (Sandbox Code Playgroud)

没关系,如果你使用这个和ES6,你会引入代码风格的不一致.

您无法区分直接属性访问和方法访问.

class Foo {
    get name () …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

15
推荐指数
2
解决办法
4106
查看次数

如何在单个查询中组合突变和查询?

我有一个操作getFoo要求用户通过身份验证才能访问资源。

用户使用突变进行身份验证authenticate,例如

mutation {
  authenticate (email: "foo", password: "bar") {
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

当用户通过身份验证时,会发生两件事:

  1. 请求上下文中包含身份验证详细信息
  2. 一个cookie被创建

但是,我想将身份验证和getFoo方法调用结合到一个请求中,例如

mutation {
  authenticate (email: "foo", password: "bar") {
    id
  }
}
query  {
  getFoo {
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

后者产生语法错误。

有没有办法将突变与查询结合起来?

node.js graphql apollo-server

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

PHP是否包含资源昂贵(特别是在迭代期间)?

PHP缓存include请求吗?我想知道如何清理我的代码,并考虑使用更多includes.考虑以下方案.

[foreach answer] [include answer.tpl.php] [/foreach]
Run Code Online (Sandbox Code Playgroud)

这需要包括answer.tpl.php数百次.

它缓存了吗?它会对性能有影响吗?这被认为是一种好习惯吗?坏?

回应@Aaron Murray的回答

不,那不行.仅仅_once是防止包含同一文件不止一次的概念.(以防止例如覆盖常量值导致的错误)

实际的例子如下:

# index.php
<?php
$array  = array('a', 'b', 'c');

$output = '';

foreach($array as $e)
{
    $output .= require_once 'test.php';
}

echo $output;

# test.php 
<?php
return $e;
Run Code Online (Sandbox Code Playgroud)

php loops include

14
推荐指数
2
解决办法
1088
查看次数

如何使用Restify的RequestLogger?

RequestLogger

设置填充当前请求ID的子bunyan记录器,以及您定义的任何其他参数.

server.use(restify.requestLogger());
Run Code Online (Sandbox Code Playgroud)

注册插件不会记录请求.

node.js restify bunyan

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

kubernetes重启策略的始终和失败有什么区别?

我发现Kubernetes中重启策略的最佳来源是:

http://kubernetes.io/docs/user-guide/pods/multi-container/#restartpolicy

但它只列出了可能的restartPolicy值,并没有解释它们.

Always和之间有什么区别onFailure?事情重启之前一定不能失败吗?

kubernetes

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