我正在使用axios promise库,但我认为我的问题更为普遍.现在我循环遍历一些数据并在每次迭代时进行一次REST调用.
每次调用完成后,我需要将返回值添加到对象.在高层次上,它看起来像这样:
var mainObject = {};
myArrayOfData.forEach(function(singleElement){
myUrl = singleElement.webAddress;
axios.get(myUrl)
.then(function(response) {
mainObject[response.identifier] = response.value;
});
});
console.log(convertToStringValue(mainObject));
Run Code Online (Sandbox Code Playgroud)
当然发生了什么事情,当我打电话console.log给mainObject它时还没有任何数据,因为axios仍在伸出手.处理这种情况的好方法是什么?
Axios确实有一个all方法和一个姐妹方法spread,但如果你提前知道你将要拨多少个电话,它们似乎是有用的,而在我的情况下,我不知道会有多少循环迭代.
我的典型git工作流程是在我们的主分支上创建一个功能分支,进行小型提交,同时定期从主服务器中进行合并以保持同步.
然后我在github上打开一个pull请求,当它被接受时我会删除分支.我想以交互方式更多地更改,但是当我这样做时,我会遇到合并提交和其他人的提交与我自己交错.我不确定如何/如果我可以压制那些提交或组合/挤压我的一个人?
例如,我的分支的git日志在变换时可能看起来像这样:
merge commit
someone else's commit
one of my commits
another one of my commits
another merge commit
another person's commit
one of my commits, the first one after branching
Run Code Online (Sandbox Code Playgroud)
在进行交互式rebase,压缩和重新排序提交时,我遇到了什么是可能的,什么不可能.鉴于上述工作流程,您会推荐什么?
我是变革的全新品牌.我已经习惯了git-flow方法,我分支了我们的main/develop分支,做我的工作,在github上打开一个pull请求,然后它就被合并了,我们继续前进.效果很好.
然而其他人正在进行变基,我想尝试一下.我已经阅读了它(例如这里),当我明白这个想法时,有点让我感到困惑.
在git-flow中,当我对分支进行更改时,我将该分支推送到服务器并打开pull请求.在一个rebase中,根据上面的链接,我被告知Periodically rebase your feature branch onto the current state of the destination branch......
......如果我这样做,那我该怎么推到github?我所依据的分支,(develop在我的情况下)?作为一个对我来说感到奇怪的git-flow家伙,但也许那是因为我不习惯它.
如果还有其他关于如何从git-flow转变为变革的想法,我也很高兴听到它.
我有一个分支,有一些提交,我想交互式rebase.然而,在拉动和合并之后,现在有其他提交与我的交错,所以我不能只做类似的事情git rebase -i HEAD~3
是否可以在选择单个提交时进行交互式rebase?就像是git rebase -i 23duirs 3eujsfe ...
另一种可能性 - 如果我只是运行git rebase -i我相信可以将我的提交行剪切并粘贴为连续,并从那里压缩,这是正确的吗?这样做是否有最佳做法,以尽量减少与那里不相关的提交冲突的可能性?
我已经开了几天的公关,现在有点陈旧了。我被要求关闭它,进行一些更改,然后重新打开。
我不确定如何执行此操作-并且当前的pull请求大约有五次提交。
我应该打开一个新分支,进行新的修改,然后从那里提交PR吗?如果是这样,那该公关又该如何进行其他五个提交?如果有更好的方法可以做到这一点,我很想知道。
我知道 docker 可以--no-cache=true选择强制干净地构建 docker 映像。然而,对我来说,我真正想做的就是强制在我的 dockerfile 中运行最后一步,这是一个CMD运行 shell 脚本的命令。
无论出于何种原因,当我修改该脚本并保存它时,典型的 docker 构建将重用该步骤的缓存版本。有没有办法强制 docker 不这样做,就在那个部分?
我们正在寻找一个基于云的自动化框架,与黄瓜和硒,这是我们在我的工作使用打得很好.
在阅读文档时,我需要修改我们的env.rb文件以放入一些设置代码.
是否可以将此初始化代码放在不同的文件中?如果是这样,那将如何运作?
原因是是,我宁愿不复杂化env.rb的任何超过它已经是,而且我们不知道我们要使用这个特定的框架,并希望保持对事物的简单的情况下,我们需要取消.
理想情况下,我想将这个初始化一个单独的文件,只把它用于特定功能的文件,但会采取什么我可以得到的.
我看像其他问题,这但我有没有运气。我觉得我在围绕答案跳舞。
使用反射调用后,MethodInfo myMethod = MakeGenericMethod(Type.GetType(MyClass))我MethodInfo在调试器中有了一个看起来像这样的对象:
myMethod --> Int32 Count[MyClass](System.Data.IDbConnection, ICriteria)
Run Code Online (Sandbox Code Playgroud)
...并且我尝试使用Invoke这样称呼它:
ICriteria myCriteria = new Criteria("some info here");
//'connection' is an object of type System.Data.IDBConnection
int count = (int)myMethod.Invoke(connection, new object [] {myCriteria});
Run Code Online (Sandbox Code Playgroud)
...但是当我这样做时,我得到了一个参数计数不匹配的信息,而我却为之困惑。
是否因为可能是通用方法?还是事实Count是扩展方法connection?
作为参考,调用我的方法的一种非反射性,直观的方法类似于 int count = connection.Count<MyRow>(new Criteria("some info here"));
我有一个bash脚本,我需要计算一个百分比.例如,我将有两个数字(11和531,让我们说),理想的是计算11/531*100~ = 2
我不需要十进制值,实际上我想截断,从而向下舍入到最接近的整数.似乎要做浮点数学我需要调用bc或其他实用程序 - 还有另一种方法可以实现我正在寻找的东西吗?
我没有任何反对bc的东西,但是当我在我的脚本中使用它,并将脚本配置为nagios插件时,nagios出于某种未知的原因而拒绝继续.这是非常奇怪和烦人的,在挖掘太多之前我想知道在这种情况下我是否可以完全避免bc.
这是我对嵌套诺言的第一枪。我使用的是bluebird库,但我认为对于所有的Promise库都是相同的。
从高层次上讲,这就是我想要做的:
myService.getSomeData(url)
.then((data) => {
myOtherService.getMoreData(data.uniqueId)
.then((thisDataIsAnArray) => {
//loop over the data above and do something
});
});
Run Code Online (Sandbox Code Playgroud)
getMoreData()应该进行X次服务调用并将结果存储在X个元素数组中。这是我开始迷路的地方,因为我不确定如何制作此方法以及应该从中得到什么。我已经在蓝鸟那里taken了几口Promise.all,Promise.map但是却挣扎了,以为我会征求建议。
我正在查看一段jquery代码,并想知道[target]下面括号中的特殊含义是什么(如果有的话):
try {
$.each($('a:not([target])'), function(index, value) {
resetToParent($(value));
});
} catch (e) {
}
Run Code Online (Sandbox Code Playgroud)
该try块在375行(!)函数中定义,并且不是单击或其他处理程序的一部分,否则使用target会更有意义.它被简单地称为100左右,作为正常流程的一部分.
我一定做错了什么.我正在开发一个代码集,它可以调用REST端点来获取啤酒信息,然后我循环显示它并显示一些信息.没有什么花哨的东西,而且看起来不太好看的CSS等等,但是在我的啤酒阵列上循环不起作用:
https://codepen.io/larryq/pen/yKyMOz
关键部分如下.我从端点获取数据并将其添加到处于我状态的'beersList'数组中.然后在JSX I循环它:
this.state.beerList.map(beer => {
<div>
<div className="beer-img">
<img src={beer.img} height="350" />
</div>
<div className="beer-info">
<h2>{beer.name}</h2>
</div>
</div>
})
Run Code Online (Sandbox Code Playgroud)
麻烦的是,屏幕上没有任何内容,没有<div>生成任何内容.
我知道调试时beerList填充了我之后的数据,并且在控制台中我可以映射它并打印出信息.但在屏幕上没有任何反应,我无法弄清楚为什么?