小编lan*_*nte的帖子

承诺构造函数与拒绝调用vs抛出错误

在以下代码中:

var p1 = new Promise(function (resolve, reject) {
    throw 'test1';
});

var p2 = new Promise(function (resolve, reject) {
    reject('test2');
});

p1.catch(function (err) {
    console.log(err); // test1
});

p2.catch(function (err) {
    console.log(err); // test2
});
Run Code Online (Sandbox Code Playgroud)

从api 使用reject(in p2)Promise和使用错误(in p1)之间有什么区别throw吗?

它完全一样吗?

如果它相同,为什么我们需要reject回调呢?

javascript promise

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

从cmd中转义git config中的双引号

我想创建一个批处理文件,初始化我的.gitconfig文件中的所有键/值.

我试图从cmd设置以下部分时遇到麻烦:

[mergetool "p4merge"]
    cmd = p4merge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
Run Code Online (Sandbox Code Playgroud)

我试过了:

git config --global mergetool.p4merge.cmd "p4merge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""
Run Code Online (Sandbox Code Playgroud)

但结果是:

[mergetool "p4merge"]
    cmd = p4merge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
Run Code Online (Sandbox Code Playgroud)

我应该如何从cmd中删除双引号?

git cmd

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

Travis在上传到S3存储桶时缺少编码

我正在通过Travis将一些.js文件上传到s3存储桶,其中一个文件具有以下正则表达式:

/(^[a-zA-Zàáâäãå????èéêë??ìíîï??òóôöõøùúûü??ÿý??ñç?šžÀÁÂÄÃÅ?????ÈÉÊËÌÍÎÏ???ÒÓÔÖÕØÙÚÛÜ??ŸÝ??ÑßÇŒÆ?ŠŽ?ð ,.'-]+)/
Run Code Online (Sandbox Code Playgroud)

Travis .yml文件非常简单:

- provider: s3
  access_key_id: THEKEY
  secret_access_key:
    secure: THESECUREDKEY
  bucket: my-bucket
  local-dir: build
  skip_cleanup: true
  on:
    branch: master
  acl: public_read
Run Code Online (Sandbox Code Playgroud)

没有什么奇怪的,但在上传之后,我在包含该正则表达式的.js中得到以下结果(而不是我提供的正则表达式):

/(^[a-zA-Zà áâäãåąÄćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçÄšžÀÃÂÄÃÅĄĆČĖĘÈÉÊËÌÃÃŽÃÄ®ÅŃÒÓÔÖÕØÙÚÛÜŲŪŸÃŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+)$/
Run Code Online (Sandbox Code Playgroud)

如你所见,我错过了大部分角色.

有没有办法在上传到s3存储桶时将编码设置为Travis?我错过了别的什么吗?

encoding amazon-s3 travis-ci

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

angular.js - 将模型中的值通过参数修改为函数

我有以下观点:

<input ng-model="something" />
<button ng-click="modify(something)">Modify</button>
Run Code Online (Sandbox Code Playgroud)

而这个方法来自控制器:

$scope.modify = function (value) {
    value = value + " and this text";
};
Run Code Online (Sandbox Code Playgroud)

但是,该方法modify没有做任何事情.

我想要做的是创建一个可以通过参数从模型修改对象的函数.我的意思是,一个x通过参数接收对象的函数,并且在该函数内部,可以修改该对象(来自模型).

我怎样才能做到这一点?

看到这个小提琴,以供参考.

javascript angularjs

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

与空数组和布尔值的Javascript比较

正如你在这个javascript平等表中看到的那样,javascript平等传递性很奇怪.

我理解该表的大部分结果,但我对以下比较有疑问:

[] == true // false
[] == false // true
!![] == true // true
!![] == false // false
Run Code Online (Sandbox Code Playgroud)

但是也:

if ([]) {
    // this code will run
}

if (!![]) {
    // and of course this too
}
Run Code Online (Sandbox Code Playgroud)

为什么?这是另一个极端不好的部分吗?有这个合理的解释吗?

javascript

5
推荐指数
0
解决办法
82
查看次数

如何在父div中水平居中多个div

我正在尝试创建一个包含多个div的控件,并且所有div都是水平居中对齐的.如下所示.

在此输入图像描述

我能够使用float:leftcss属性浮动每个div .给出这样的东西

在此输入图像描述

但是div总是留给他们的父母.

我有一个替代解决方案使用javascript来定位每个div但我想使用CSS.是否有可能使用CSS实现这一目标.

提前致谢

javascript css jquery css3 css-float

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

在Knockout中初始化时调用组件功能

使用普通的视图模型,我可以在它的上下文之外的初始化之后调用一个函数,如下所示:

var ViewModel = function () {
    this.Foo = function () {
        alert("bar");
    };
};

var vm = new ViewModel();
ko.applyBindings(vm);

vm.Foo();
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/h01ky3pv/

如何使用组件的视图模型执行此类操作?我想打电话FooComponentViewModelFoo功能,首先加载foo的组件时.

ko.components.register("foo", {
    viewModel: FooComponentViewModel,
    template: {
        element: "component-foo"
    }
});

function FooComponentViewModel(params) {
    this.Foo = function () {
        alert("bar");
    };
}

var ViewModel = function () {
    // empty
};

var vm = ViewModel();
ko.applyBindings();
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/r3d41q6c/2/

javascript knockout.js knockout-components

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

排序列表<keyValuePair <string,string >>

我这样做C# .net2.0 我有一个包含两个字符串的列表,我想对它进行排序.列表就像List<KeyValuePair<string,string>>

我必须根据第一个排序string,这是:

  • ACC
  • ABLA
  • SUD
  • FLO
  • IHNJ

我尝试使用Sort(),但它给了我例外:"无效的操作异常","无法比较数组中的两个元素".

无论如何我能建议我这样做吗?

.net c#

4
推荐指数
2
解决办法
5626
查看次数

为什么SQL将确切的日期时间更改为一个刻度

DECLARE @dateEnd datetime
SET @dateEnd = '2014-11-30T23:59:59.999'
SELECT @dateEnd
Run Code Online (Sandbox Code Playgroud)

为什么我得到结果: 2014-12-01 00:00:00.000

我想为SELECT条件使用变量:

where [MyDate] between @dateStart and @dateEnd
Run Code Online (Sandbox Code Playgroud)

这是另一个问题,但相关.我希望包含第一个数据点(dataStart),并从所选数据范围中排除第二个(dataEnd).怎么做?

sql sql-server

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

为什么javascript变量没有在所有外部JS文件中更改

变量a在主文件中被删除.然后,a.jsb.js包括在内.JS文件包含以下内容.

a.js:

a+=100;
Run Code Online (Sandbox Code Playgroud)

b.js:

a=+200;
Run Code Online (Sandbox Code Playgroud)

主文件:

<script type="text/javascript">
     a=30;
</script>
<script type="text/javascript" src="js/a.js"></script>
<script type="text/javascript" src="js/b.js"></script>
    a+=90;
    console.log("a = " + a);
</script>
Run Code Online (Sandbox Code Playgroud)

控制台显示a=290.为什么 a 不是420(即30 + 100 + 200 + 90)?为什么没有a在这两个改变a.jsb.js

javascript jquery

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