在以下代码中:
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回调呢?
我想创建一个批处理文件,初始化我的.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中删除双引号?
我正在通过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?我错过了别的什么吗?
我有以下观点:
<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平等表中看到的那样,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)
为什么?这是另一个极端不好的部分吗?有这个合理的解释吗?
我正在尝试创建一个包含多个div的控件,并且所有div都是水平居中对齐的.如下所示.

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

但是div总是留给他们的父母.
我有一个替代解决方案使用javascript来定位每个div但我想使用CSS.是否有可能使用CSS实现这一目标.
提前致谢
使用普通的视图模型,我可以在它的上下文之外的初始化之后调用一个函数,如下所示:
var ViewModel = function () {
this.Foo = function () {
alert("bar");
};
};
var vm = new ViewModel();
ko.applyBindings(vm);
vm.Foo();
Run Code Online (Sandbox Code Playgroud)
如何使用组件的视图模型执行此类操作?我想打电话FooComponentViewModel的Foo功能,首先加载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)
我这样做C# .net2.0
我有一个包含两个字符串的列表,我想对它进行排序.列表就像List<KeyValuePair<string,string>>
我必须根据第一个排序string,这是:
我尝试使用Sort(),但它给了我例外:"无效的操作异常","无法比较数组中的两个元素".
无论如何我能建议我这样做吗?
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).怎么做?
变量a在主文件中被删除.然后,a.js和b.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.js和b.js?