我按如下获取到一个数组结果
new AV.Query('UserProjectMap') .equalTo('project', project) .include('user', 'project') .find() .then((maps) => { // 如何在这里对maps进行顺序操作? });
我如何对获取到的这个maps里面的内容进行顺序操作(与服务器有交流)?
其实我真实的场景是这样的:我经过操作,获取到一个新的listA,然后在服务器上有一个与之对应的listB,然后我要比较listA和listB,相对listB,增加的我要网服务器上增加,减少的我要删除服务器上的。这里说的增加和删除动作,需要操作两个表。
所以,你的疑问是什么呢?
我发现LeanCloud的API,很多函数均是返回promise,这个简直太好用了,我现在用promise这样来解决:
var promise = Promise.resolve(); this.data.team.forEach(function (newUserId) { promise = promise.then(function () { // 在这里处理,这里直接return LeanCloud API 的promise // 比如return ***.save() }) })
不知道这是不是你们推荐的做法。
如果你是想要串行的执行一批操作,你的代码是可以的。