Skip to content

Instantly share code, notes, and snippets.

@1yx
Created November 30, 2015 10:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 1yx/60463ac7ea4bdafe909b to your computer and use it in GitHub Desktop.
Save 1yx/60463ac7ea4bdafe909b to your computer and use it in GitHub Desktop.
扩展leancloud js sdk 中的一些方法
var AV = require('avoscloud-sdk').AV;
AV.Query.prototype.findAll = function () {
var self = this,
data = [];
self._limit = 1000;
self._order = 'createdAt';
return loop(avpromise(0), function (skip) {
self._skip = skip;
return self.find();
});
function avpromise(resolved) {
return new AV.Promise(function (resolve) {
resolve(resolved);
});
}
function loop(promise, fn) {
return promise.then(fn).then(function (rows) {
data = data.concat(rows);
return rows.length === self._limit ? loop(avpromise(self._skip + self._limit), fn) : avpromise(data);
});
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment