【发布时间】:2015-11-13 21:23:37
【问题描述】:
我正在使用供应商 API 来访问其服务。该服务作为 jQuery 延迟对象公开。对于一个完整的业务任务,我用伪代码做这样的事情。
service.do('reset').then( function ( result) {
return service.setValue(valObj);
}).then ( function (result) {
return service.do('runTask');
}).then ( function ( result ) {
return service.getResult(query);
}).then ( function (result){
console.log('finally done with One task');
});
每个 service.XXX 都是底层的 REST API 调用,回调函数带回 REST 响应。为简单起见,我省略了每个结果的使用方式。
现在我需要在单个业务任务中以严格的端到端顺序执行此服务 100 次。上面的代码需要执行100次:上一个完成然后开始下一个。
在 javascript 中构建此类需求的好方法是什么?我正在使用 ReactJS 和 jQuery。
【问题讨论】:
-
那些
results真的习惯了吗? -
您是否考虑过一些基于 JavaScript 承诺的库,例如 github.com/kriskowal/q 或 github.com/petkaantonov/bluebird
-
我建议阅读这篇关于 Promises 的文章。 pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html。太神奇了……
标签: javascript jquery node.js reactjs jquery-deferred