簡體   English   中英

nodejs異步瀑布在第二個函數中使用貓鼬findOneAndUpdate

[英]nodejs async waterfall use mongoose findOneAndUpdate in the second function

我想讓用戶異步瀑布上傳文件,然后返回遠程文件路徑,並將其傳遞給第二個函數,即findOneAndUpdate以將路徑保存到用戶文檔中。

async.waterfall({
    uploadedFile: function (acb) { fileUpload(req, res, acb); },
    user: function (acb) { 
        Users.findOneAndUpdate({ uuid: req.user.uuid }, 
            { $set: {
                file: 'RESULTFROMWATERFALL',
                email: req.body.email,
                name: req.body.name,
    } }).exec(acb); }
}, function (err, data) {
    if (err) {
        console.log(err);
    }
    console.log('result: ', data)
});

我對此一無所知,不知道如何繼續從功能一獲得結果並將其傳遞給貓鼬查找和更新功能。

如果單獨使用上載功能,則它的工作方式如下:

fileUpload(req, res, function(err, result) {
        console.log('i can see result here: ', result) // https//some.remote.path/file.txt
    })

有人可以幫我解決這個async.waterfall示例嗎?

嘗試這個:-

async.waterfall([
(callback) => {
    fileUpload(req, res, (err,data)=>{
        callback(err, data);
    });
},
(updateURL, callback)=>{
    Users.findOneAndUpdate({ uuid: req.user.uuid },
        { $set: {
                file: 'RESULTFROMWATERFALL',
                email: req.body.email,
                name: req.body.name,
            } }).exec(callback); 
}
}], (err, data) => {
if (err) {
    console.log(err);
}
console.log('result: ', data)
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM