小编jak*_*b.g的帖子

如何按顺序执行promises数组?

我有一系列承诺需要按顺序运行.

var promises = [promise1, promise2, ..., promiseN];
Run Code Online (Sandbox Code Playgroud)

调用RSVP.all将并行执行它们:

RSVP.all(promises).then(...); 
Run Code Online (Sandbox Code Playgroud)

但是,我怎么能按顺序运行它们呢?

我可以像这样手动堆叠它们

RSVP.resolve()
    .then(promise1)
    .then(promise2)
    ...
    .then(promiseN)
    .then(...);
Run Code Online (Sandbox Code Playgroud)

但问题是承诺的数量各不相同,承诺数组是动态建立的.

javascript promise ember.js rsvp.js

76
推荐指数
5
解决办法
4万
查看次数

在什么情况下,flex-shrink适用于flex元素,它是如何工作的?

我玩过这个漂亮的CSS Flexbox演示页面,我理解了大多数概念,但是我无法flex-shrink在工作中看到.无论我在那里应用什么设置,我都看不到页面上的任何区别.

规格:

<"柔性成长">

此组件设置"flex-grow",并指定弹性增长系数,该系数决定当分配正空闲空间时,弹性项目相对于弹性容器中其余弹性项目的增长量.省略时,将其设置为"1".

<"柔性缩水">

此组件设置"flex-shrink"手动并指定flex缩减系数,该系数确定当分配负可用空间时,flex项目相对于Flex容器中其余flex项目的收缩程度.省略时,将其设置为"1".在分配负空间时,弹性收缩因子乘以弹性基础.

在什么情况下flex-shrink应用(即负空间分配时)?我已经尝试过在flexbox元素上设置宽度的自定义页面和其中元素的(min-)宽度以产生溢出,但似乎不是描述的情况.

它已经得到了支持吗?

作为一个解决方案,链接演示的一组选项或类似JSFiddle的现场演示将受到高度赞赏.

css css3 flexbox

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

在阿拉伯语单词中间插入HTML标记会中断单词连接(草书)

来自维基百科:

草书(来自拉丁语curro,currere,cucurri,cursum,to run,hasten)是任何手写风格,专为手工快速书写笔记和字母而设计.在阿拉伯语,拉丁语和西里尔语书写系统中,单词中的字母是相互关联的,使单词成为一个复杂的笔画.

在上面的语言中,当我们想要使用例如<span>标签来格式化单个单词以应用自定义css样式时,它会破坏单词连接,所以有任何解决方案.

例如,这是正常的阿拉伯语单词:

كتب

但是当我们想使用span标签为其他颜色的最后一个字母着色时得到: 在此输入图像描述

因为前两个字母在一个标签中,而最后两个字母在另一个标签中.

我能做些什么来避免断字.

这是完整的HTML:

<p>??<span style="color: Red;">?</span></p>
Run Code Online (Sandbox Code Playgroud)

html css arabic

24
推荐指数
2
解决办法
2719
查看次数

如何在Git rebase中用另一个提交替换提交?

假设我正在处理分支中的某个功能oldFeature.我已完成提交A,B1并将其发送给代码审查.在B1我更改了一些现有文件但也添加了newfile.txt.

与此同时,我开始在(== )newFeature分叉的分支机构工作.我已经添加了,,.oldFeatureHEADB1CDE

同时,我得到了代码审查结果,不得不修改B1,更改newfile.txt和更改一些现有文件.修复后,它变成了B2.

所以说明一下:

newFeature   oldFeature
A             A
B1            B2 [B1 with some fixes]
C
D
E
Run Code Online (Sandbox Code Playgroud)

现在,我在newFeature,我想变基newFeatureB2代替B1.当我简单地执行rebase时,由于newfile.txt在rebase的两个部分中添加了冲突,我已经改变了冲突.

我想保留oldFeature(B2)的版本.

我不能动B1HEAD,因为C,D,E依赖于它.

我知道我可以做以下的解决方法:

然后我会遇到这样的情况:

newFeature   oldFeature
A …
Run Code Online (Sandbox Code Playgroud)

git git-rebase

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

Git策略将错误修正反向旧版分支(cherry-pick vs. merge)

我们的团队工作如下:

  • 我们只有一个master分支在我们的GitHub库,它不是稳定的-认为每天被推存在; 对于稳定版本,我们使用标签(用于开发,我们在GitHub上使用私人分支)
  • 我们每3周发布一个新的次要版本,其中包含错误修正和新功能(比如1.2.4,1.2.5,1.2.6 ......)
  • 我们还必须在有限的时间内(几个月)维护每个次要旧版本,所以当有人使用1.2.4而最新版本为1.2.7时,他们发现了一个错误,他们可以请求我们修复bug在他们使用的分支上.然后我们发布补丁版本 1.2.4A.
  • 补丁非常特殊.对于次要版本,我们通常不会超过1-2个补丁.对于大多数版本,我们不做补丁.

问题是,同时修复master和旧分支上的bug的最佳策略是什么?

我可以想到两个主要策略:

  1. 修复bug master,然后检查v1.2.4,然后挑选适当的提交(假设错误修复是一个始终保持的提交)并将结果提交标记为v1.2.4A.

  2. 签出v1.2.4,修复错误并提交,将提交标记为v1.2.4A,并将其合并到master,执行合并.

我比较赞成的第一个版本(樱桃采摘),但我想听听对方的约利弊评论.

当然,当中间提交引入一些重大更改时可能会变得复杂,这些更改可能导致无法创建在1.2.4和master中都有效的提交(例如,当某些函数名称更改时)或更复杂的事情).但更常见的情况是修复程序可以毫无问题地移植.

从主人采摘樱桃的优点:

git git-merge

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

git reset问题 - 添加.gitattribute后的硬盘 - 不应该存在的本地更改

在合并我的同事的捆绑后,我发现了CRLF问题.有时将带有LF的行混合到源中,可能是合并到的源.因此,我们决定添加.gitattributes包含以下内容的文件(删除注释):

*.cpp text
*.h text
*.inc text
*.cfg text
*.dic text

*.sln text eol=crlf
*.vcxproj text eol=crlf
*.filters text eol=crlf
*.user text eol=crlf
*.rc text eol=crlf
*.rc2 text eol=crlf
Run Code Online (Sandbox Code Playgroud)

现在我观察到奇怪的行为.我可以看到很多modified: ...不应该存在的文件(即未分级的).我试过git reset --hard,但文件仍然具有相同的状态.我试图再次克隆存储库 - 结果相同.

git version 1.7.11.msysgit.0已从Git-1.7.11-preview20120620.exe下载的Windows 安装当前版本安装.

我还应该尝试什么?

谢谢,彼得

windows git gitattributes

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

咏叹调标签和标签都没有读过

请考虑以下标记.

<label for="i1" class="inforLabel">This is a label</label>
<input id="i1" type="text" class="inforTextbox" aria-label="Title, not label" />
Run Code Online (Sandbox Code Playgroud)

对我来说,这个标记是在我的自定义工具提示控件之后生成的.我在IE上看到JAWS的问题是它只读取"标题,而不是标签",但是对于其他屏幕阅读器,例如,标签和文本框上的语音都aria-label被读取.我认为它应该同时阅读.

这是一个设置还是一个错误?或者还有别人可以推荐的东西吗?

accessibility screen-readers wai-aria jaws-screen-reader

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

如何解决git merge冲突,从命令行,使用给定的策略,只针对一个文件?

假设我做了一个git merge并且在某些文件中有冲突,比如说,package.json或者pom.xml也许是其他一些文件.

我想要

  1. 从命令行自动解决某些文件的合并冲突
  2. 让我自己解决所有其他冲突,如果有的话,和
  3. 确保我不会丢失任何分支机构的宝贵更改.

由于2),我无法使用,git merge -Xours因为这将解决所有冲突.我想只解决一个特定文件中的冲突.

由于3),我无法使用,git checkout --ours package.json因为这可能会丢失输入分支的一些更改.

用例例如是:自动合并脚本,它将以预定义的方式解决琐碎的众所周知的冲突,如果其他文件中存在其他冲突,则会失败.

我经常遇到的典型情况是有两个分支,其中version字段package.json分叉如下:

$ git diff
diff --cc package.json
index 75c469b,f709434..0000000
--- a/package.json
+++ b/package.json
@@@ -1,6 -1,6 +1,12 @@@
  {
    "name": "test",
++<<<<<<< HEAD
 +  "version": "2.0.1",
++||||||| merged common ancestors
++  "version": "1.0.0",
++=======
+   "version": "1.0.2",
++>>>>>>> master
Run Code Online (Sandbox Code Playgroud)

是否可以使用给定策略解决JUST ONE文件的冲突?就像是:

git-resolve-conflict --ours package.json
Run Code Online (Sandbox Code Playgroud)

git merge git-merge

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

Google地图未显示

我有一个简单的代码,可以显示谷歌地图上的位置.但由于某些原因,它没有出现.有什么想法吗?

<html>
<head>
<title>Google Maps </title>
<script type="text/javascript" 
src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
(function() {
   window.onload = function(){
   var latlng = new google.maps.LatLng(57.8, 14.0);
   var options = {
      zoom: 6,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
        }; 
  var map = new google.maps.Map(document.getElementById('map'), options);
        }
    })();
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

google-maps-api-3

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

自动数据库迁移后使用重新查询“无法添加默认值为 NULL 的 NOT NULL 列”

AbstractFooEntity通过添加如下所示的整数字段来更新我的课程,并且我提高了数据库版本(数据库使用new DatabaseSource(context, Models.DEFAULT, DB_VERSION).

@Entity
abstract class AbstractFooEntity {
  // this was in DB schema v1
  String someField;

  // added in DB schema v2
  int newField = 0;
}
Run Code Online (Sandbox Code Playgroud)

当我部署此代码并在用户运行新版本的 Android 应用程序时执行(自动)数据库迁移时,我在运行时收到以下错误:"Cannot add a NOT NULL column with default value NULL".

在这种情况下,注释实体以便框架正确处理自动数据库迁移的正确方法是什么?

android

10
推荐指数
2
解决办法
3136
查看次数