1
我一直希望能快速的問題的人有更多的知識比我節點貓鼬的MongoDB和異步
如果我有,基本上建立一個實體,並使用直接保存它的MongoDB節點API的實現代碼Mongoose,我是否需要將所有包含在承諾庫中的代碼包裝爲儘可能異步?或者Mongoose/MongoDB Node庫的實現已經以異步的方式完成了他們的工作,所以我在消息泵上唯一的開銷就是創建對象。
下面的代碼是我們在API中的代碼,它創建了下面的承諾並執行它,我只是想知道,如果Mongoose/MongoDB庫是異步的,承諾的開銷實際上是否值得。
希望一切都有道理。
function action(promise) {
var date = new Date(),
taskWorkQueue = new TaskWorkQueueModel({
"TaskId": taskid,
"metadata": metadata,
"State": 0,
"TaskType": taskType,
"ApplicationName" : token.ApplicationName ,
"dateEntered": date});
taskWorkQueue.save(function (err) {
if (err)
{
promise.reject(err);
}
else
{
promise.resolve(taskWorkQueue);
}
});
感謝蒂莫西,來自C#異步我犯了一個錯誤,認爲承諾實際上是作爲一個單獨的(線程/纖維/東西)運行。我現在看到它基本上是回調語法上的糖,給出了一些看起來像C#中基於異步的任務延續。感謝您的澄清,非常感謝。 – Bigtoe 2014-10-09 15:08:31