CNode

for循环中做异步操作?

Mmanbusky发布于13 年前最后回复13 年前9 回复6520 浏览0 收藏

我有一个数组,需要对这个数组数据进入数据库有效果性验证,然后插入到数据库中, 这得在循环中做呀,可是数据库操作是异步的,这怎么搞呢, 有经验的同志,说说呗?

外部做一个小的闭包实现,闭包加有一个计数变量?循环里执行一次就调用一次外部的闭包,将变量加1,等于数组长度就说明成功?

这样是否可行呢?怎么感觉这么别扭!!!

查看回复

回复 (9)

A
a272121742#1·13 年前

最简单就是加闭包哦

1
151263#2·13 年前

windjs:

for(var i=0; i<10; i++) {
  $await(Wind.Async.sleep(100));
  console.log(i);
}

或者用递归来实现,其实也只能用递归实现

P
Pana#3·13 年前

有一个async的module, 可以顺序的执行异步函数, 非常好用 async

P
peiweippww#6·13 年前

forEach

P
Pana#7·13 年前
引用 peiweippwwforEach

forEach 更for循环的效果不一样吗

P
peiweippww#8·13 年前
引用 peiweippwwforEach

@panawang 自动生成闭包

P
Pana#9·13 年前
引用 peiweippwwforEach

@peiweippww 应该是同步操作吧

参与回复
登录后即可参与回复。登录