Mongoskin MongoClient.connect 同步
Mongoskin MongoClient.connect sync
在模块 mongoskin 中,当获取数据库对象 mongoskin 以同步方式执行此操作时,因此代码:
var db = mongoskin.db(url, {
native_parser: true
});
var myCollection = db.collection('myCollection');
我很好奇,他们是如何做到这一点的?我一直在查看 mongoskin 代码,但我并不完全理解它。
在这里,您可以看到 mongoskin 对其进行了简化:
https://github.com/kissjs/node-mongoskin#dbcollection-callback origin vs. mongoskin
有人知道 mongoskin 是如何将异步代码变成同步代码的吗?
他们在 readme 的开头说:
We make some common use functions in promise mode, we call it SkinClass of a normal Class. And the API is almost same with official API.
db.collection('myCollection');
returns SkinCollection
- 本机 Collection
的包装器,可用时将使用 Collection
。
魔术住在这里:https://github.com/kissjs/node-mongoskin/blob/master/lib/utils.js
在模块 mongoskin 中,当获取数据库对象 mongoskin 以同步方式执行此操作时,因此代码:
var db = mongoskin.db(url, {
native_parser: true
});
var myCollection = db.collection('myCollection');
我很好奇,他们是如何做到这一点的?我一直在查看 mongoskin 代码,但我并不完全理解它。
在这里,您可以看到 mongoskin 对其进行了简化:
https://github.com/kissjs/node-mongoskin#dbcollection-callback origin vs. mongoskin
有人知道 mongoskin 是如何将异步代码变成同步代码的吗?
他们在 readme 的开头说:
We make some common use functions in promise mode, we call it SkinClass of a normal Class. And the API is almost same with official API.
db.collection('myCollection');
returns SkinCollection
- 本机 Collection
的包装器,可用时将使用 Collection
。
魔术住在这里:https://github.com/kissjs/node-mongoskin/blob/master/lib/utils.js