2017-07-17 42 views
0

我想運行一個貓鼬查詢,並將其寫入控制檯,而無需安裝像藍鳥另一個庫。我一直無法在文檔中找到它。如何console.log一個promisified貓鼬查詢*沒有*藍鳥

下面是該查詢:

function activityH(){ 
     return setRecords.find({'item.title': 'marzipan'} 
            , 'item.title item.quantity').exec(); 
    } 

並在其中,我稱之爲背景:

....[a bunch of promises].then(activityF).then(activityG).then(activityH).then(function(doc){console.log(doc);}); 

所有之前的活動都完成了,但沒有被記錄,即使我的查詢應有結果。我覺得這是一個非常基本的問題,但我尋找了幾個小時試圖找到一個解決方案,如果這是一個重複的,原來的答案是很難搜索!

我是否絕對需要藍鳥來做到這一點?例如。這blog post 謝謝

回答

0

你可以寫一點日誌功能包裝來幫助你。像

function log(data) { 
    console.log(data); 
    return data; 
} 

然後添加一些它的Promise鏈。

....[a bunch of promises] 
    .then(log) 
    .then(activityF) 
    .then(log) 
    .then(activityG) 
    .then(log) 
    .then(activityH) 
    .then(log) 

如果你想要一些默認的消息,你也可以傳遞一個消息字符串

function log(msg) { 
    return function(data) { 
     console.log(msg, data); 
     return data; 
    } 
} 

然後將加入連鎖,如:

activityA() 
    .then(log('activityA')) 
    .then(activityB) 
    .then(log('activityB'))