|
[云开发]
关于并发的数据请求!请问这样可以吗?
[复制链接]
本帖最后由 不死逍遥 于 2015-2-23 13:54 编辑
新手入门,各位高手请指点!
- //串行读取
- var datas = [];
- var model = api.require('model');
- var query = api.require('query');
- //读取一
- query.createQuery(function (ret, err) {
- if (ret && ret.qid) {
- var qid = ret.qid;
- query.whereEqual({
- qid: qid,
- column: 'name',
- value: 'jack'
- });
- model.findAll({
- class: "user",
- qid: qid
- }, function (ret, err) {
- datas.push(ret);
- //读取二
- query.createQuery(function (ret, err) {
- if (ret && ret.qid) {
- var qid = ret.qid;
- query.whereEqual({
- qid: qid,
- column: 'name',
- value: 'anni'
- });
- model.findAll({
- class: "user",
- qid: qid
- }, function (ret, err) {
- datas.push(ret);
- //读取三
- query.createQuery(function (ret, err) {
- if (ret && ret.qid) {
- var qid = ret.qid;
- query.whereEqual({
- qid: qid,
- column: 'name',
- value: 'cate'
- });
- model.findAll({
- class: "user",
- qid: qid
- }, function (ret, err) {
- datas.push(ret);
- //doSomethings
- console.log(datas.length);
- });
- }
- });
- });
- }
- });
- });
- }
- });
复制代码
- //并行读取
- var datas = [];
- //全部数据读取完毕
- function finalLoaderComplete(){
- //doSomething
- console.log(datas.length);
- }
- var num = 3;
- //一个数据读取完毕
- function loaderComplete(data){
- datas.push(data);
- if (--num == 0) {
- finalLoaderComplete();
- };
- }
- var model = api.require('model');
- var query = api.require('query');
- //读取一
- query.createQuery(function (ret, err) {
- if (ret && ret.qid) {
- var qid = ret.qid;
- query.whereEqual({
- qid: qid,
- column: 'name',
- value: 'jack'
- });
- model.findAll({
- class: "user",
- qid: qid
- }, function (ret, err) {
- loaderComplete(ret);
- });
- }
- });
- //读取二
- query.createQuery(function (ret, err) {
- if (ret && ret.qid) {
- var qid = ret.qid;
- query.whereEqual({
- qid: qid,
- column: 'name',
- value: 'anni'
- });
- model.findAll({
- class: "user",
- qid: qid
- }, function (ret, err) {
- loaderComplete(ret);
- });
- }
- });
- //读取三
- query.createQuery(function (ret, err) {
- if (ret && ret.qid) {
- var qid = ret.qid;
- query.whereEqual({
- qid: qid,
- column: 'name',
- value: 'cate'
- });
- model.findAll({
- class: "user",
- qid: qid
- }, function (ret, err) {
- loaderComplete(ret);
- });
- }
- });
复制代码
代码示例:
|
|