首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么合适的方法来刺激arangojs?

有什么合适的方法来刺激arangojs?
EN

Stack Overflow用户
提问于 2015-04-10 09:09:41
回答 1查看 313关注 0票数 0

我想在我的项目中使用arangojs 3.4.2。从3.0开始,驱动程序就没有使用任何承诺。在尝试了几个lib来对驱动程序进行编程之后,我没有成功(bluebird,promisify -node.):每次驱动程序返回一个新实例时,这个实例没有被验证,我必须再次对新实例进行promisify处理,以便与承诺一起使用:

代码语言:javascript
复制
var Promise=require('bluebird');
var arango=require('arangojs');
db=Promise.promisifyAll(new arango("http://localhost:8529"));
/*db is promisified properly*/
testdb=db.databaseAsync('test').then(function(testInstance){
    /*
    the testInstance returned by the driver is not promisified
    to use it with promises i've to promisify again
    */
})

有办法做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-14 17:31:51

这是正确的。

如果要对驱动程序中所有对象的所有方法进行promisify,则需要直接对原型的方法进行promisify:

代码语言:javascript
复制
var Database = require('arangojs/lib/Database');
Promise.promisifyAll(Database.prototype);

var db = new Database('http://localhost:8529');
db.databasesAsync().then(function (databases) {
  databases.forEach(function (database) {
    assertTrue(typeof database.databaseAsync === 'function');
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29557522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档