解析承诺以更新多行
Parse Promise to update multiple rows
我想在 Parse 中更新一个类中的多行。我需要使用"set"添加一个新字段。我尝试并行saveAll
和Promises
进行更新,但这两者都是异步的。因此,它们会消耗大量资源和带宽。
我怎样才能以同步的方式做到这一点。如果你能用串联的承诺来回答,对我来说会更好
这是我目前使用的代码。但我需要以系列方式
Parse.Cloud.define("Updating",function(request,response){
var query = new Parse.Query("FollowUp");
query.find({
success: function(results){
for (var i = 0; i < results.length; i++) {
results[i].set("testfield","sometext");
}
Parse.Object.saveAll(results,{
success: function(list){
response.success("ok");
},
error: function(error){
response.error("failed");
}
});
},
error: function(error) {}
});
});
此代码工作正常,并且是同步的。
Parse.Cloud.define("Updating",function(request,response){
var query = new Parse.Query("FollowUp");
query.find().then(function(results) {
var promise = Parse.Promise.as();
_.each(results, function(result) {
// For each item, extend the promise with a function to save it.
result.set("newfield","somevalue");
promise = promise.then(function() {
// Return a promise that will be resolved when the save is finished.
return result.save();
});
});
return promise;
}).then(function() {
response.success("working!!");
// Every object is updated.
});
});
或者你甚至可以使用"for"循环而不是_.each
Parse.Cloud.define("Updating",function(request,response){
var query = new Parse.Query("FollowUp");
query.find().then(function(results) {
var promise = Parse.Promise.as();
for(var i=0;i<results.length;i++){
results[i].set("newfield","somevalue");
promise = promise.then(function() {
// Return a promise that will be resolved when the save is finished.
return results[i].save();
});
});
return promise;
}).then(function() {
response.success("working!!");
// Every object is updated.
});
});
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- 延期承诺值未更新/解析/延期
- Angularjs承诺,不会及时通知绑定的更新进度
- Javascript承诺并更新变量
- 角度 - 数组从承诺更新,整数不更新
- AngularJS:如何在承诺响应后更新$scope
- 角度控制器检查服务承诺更新视图
- Ember更新导致模板中的承诺不等待解决
- 如何处理将来保存和更新的承诺中所需的信息
- Vue-i18n动态语言环境与承诺不更新
- 承诺在烬路由模型不解析/更新
- 从承诺返回后更新作用域变量
- 为什么$http成功了't返回更新后的承诺
- 承诺返回未更新的数组范围
- $http承诺不更新作用域(ng-hide)
- 如何用蓝鸟承诺(猫鼬)找到一个和更新
- 不能简单地使用 ES6 承诺来更新 ng-repeat 中的数据
- 解析承诺以更新多行
- 我的函数更新状态和使用承诺时遇到了一些问题