gpt4 book ai didi

javascript - 无法在node.js中构造异步操作

转载 作者:太空宇宙 更新时间:2023-11-04 02:04:21 25 4
gpt4 key购买 nike

我想使用并行而不是 waterfall 来进行操作。

我使用了 Mongoose ,我有一个像这样的模型的方法

module.exports.updateStatus = function(task_id, status, callback){
Task.findOneAndUpdate({_id: task_id},
{$set: {status}},
{upsert: true,'new':true},
callback)
}

那为什么我会在第 2 行得到意外的 token ?

async.parallel([
Task.updateStatus(id, status, (err, resp), callback) => {
callback(err, resp)
},
Credit.addCredit(user_id, 10, (err, resp), callback) => {
callback(err, resp)
}
], (err, resp) => {
if(err){
return handleError(err, 'Failed to update task status', res)
}

res.json({
success: true,
result: {task: resp}
})
})

最佳答案

这是无效部分:

async.parallel([
Task.updateStatus(id, status, (err, resp), callback) => {
callback(err, resp)
},
Credit.addCredit(user_id, 10, (err, resp), callback) => {
callback(err, resp)
}
]

您一次给它两个回调,请尝试:

async.parallel([
function(callback) { Task.updateStatus(id, status, (err, resp), callback) }
function(callback) { Credit.addCredit(user_id, 10, (err, resp), callback) }
]

相反,我们从异步函数中获取回调参数。

关于javascript - 无法在node.js中构造异步操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44870533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com