看到这种处境,非常难受.
当年我也在北京,一怒裸辞,躺尸一年后赶上疫情,迫不得已回了老家. 进入了一家制造业,做软件开发. 从 0 开始做自动化行业的相关软件. 已经 4 年了,,薪资之后原来的 1/4,最疲惫的还是人际关系. 有时候真的感慨看似我们都在努力挣扎,但实际上都是被时代裹挟着前进. 谁也不知道后面走向哪里.
文玩,手串,玉石,老古董,民间小玩意. 乐趣无穷啊.
求生装备,刀具,打火石,医疗急救包,帐篷,净水器,折腾无极限
貌似 op 懒得折腾 (狗头)
大概能理解 OP 是个重感情的人,不过这血赚不亏的机会不要放过啊 哈哈哈哈.
他不说,你不问,你结婚,单独邀请他. 哈哈哈哈哈. 他来不来,随不随份子,你都不亏啊.
情谊的话,还是自己消化一下.
这个没有统一的标准吧,计算一下工作每小时的单价.以及请假扣除. 再结合个人是否请假频繁.(比如家里有小孩老人,需要照顾) 可能每个人得出的结果不一样.
可以找老中医看看,调理一下身体,我之前也是,垫纸用.调理过后,好了一段时间,但身体虚的时候又会出现. 本质还是身体亚健康了.
要从小就这样的话,可能就是先天体质问题了.
找个路口,画个圈,然后在圈内烧点纸钱,心里默念这些钱是烧给 xxx 人的.
推荐部黑帮英剧吧,但是贼帅 <浴血黑帮>
fucking shelby !
生气无用 !!!
处理方法也很简单. 正式开发前, 书面形式做出功能规划,抄送相关领导. 让他正式邮件确认. 哪里不行改哪里. 最后他甩锅的时候. 理直气壮的说: "当时功能设计,是我们共同讨论一致通过的,现在有分歧可以再改,而不是在这里事后诸葛亮"
确实是异步导致的问题。 但还有其他问题。
1. post 函数是个异步函数
2. for 循环是同步。
3. JS 变量作用域+JS 函数传值都是值传递、
另外补充一点,**JS 只在一个线程上运行**,异步函数是被放到了任务队列中,等待主线程调用的。
所以,原先在 for 循环内部的时候。 执行顺序是 先执行完 for 循环。 然后执行 post 函数( post 函数)。所以当 post 函数执行的时候。url 每次都是数组的最后一个值。 你的情况类似如下
```
console.log("1"); // 主线程
setTimeout(function(){
console.log("2");
},0); // 加入到了 任务队列。
console.log("3");// 主线程
// 又或者
for(var i=0;i<5;i++){
setTimeout(function(){
console.log("变量 i="+i);
},0);
}
```
那么 为什么提取成函数 for 循环内调用就行了。
在 ES6 之前的,JS 是没有块级作用域变量的,也就是 后来为啥引入 let 的原因。 也就是说,在原来 for 循环内部的时候,post 执行时访问的都是同一个变量 i 。但是提成函数时,变量 i 的值被当做函数参数传入函数内。 那么每次 post 的时候,是从函数参数中获取到的。就不是原先 for 循环中定义的 i 了。
所以 前面的兄弟提到,可以用 let 代替 var 也能解决你的问题。是因为 let 定义的是块级作用域。 比如你可以测试一下如下程序
```
// var 定义 i
for(**var** i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},0);
}
// let 定义
for(**let** i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},0);
}
```
不知道为啥,我脑海中蹦出来的是,癌症之后,出去游玩. 最后钱花光,癌症好了的 新闻
不是建议去效仿啊. 但有一点就是 要保持 **开心**
放下恐惧,做点能让自己**开心**的事. 奇迹会发生的
循环内部改造成函数调用就行了.....
`
var allimg = 获取到的图片数组;
var oldcontent = 原内容;
for(var i=0; i<allimg.length; i++){
var url = allimg[i]
doReplace(url); // 函数调用传值作用域会改变
}
function doReplace(url){
$.post('url', 参数, function(ret) {
if(ret['code'] == 200) {
oldcontent = oldcontent.replace(ret['oldimgurl'], ret['newimgurl']);
}else{
console.log(错误信息);
}
}, 'json');
}
`