函数的使用(回调)
Posted
技术标签:
【中文标题】函数的使用(回调)【英文标题】:Use of function(callback) 【发布时间】:2018-12-29 20:03:45 【问题描述】:我是 mongoose 的新手,我试图了解在传递“回调”时到底发生了什么。我知道 async.parallel 正在调用两个返回查询结果的函数,但我不明白在这种情况下使用“回调”。
async.parallel(
author: function(callback)
Author.findById(req.body.authorid).exec(callback)
,
authors_books: function(callback)
Book.find( 'author': req.body.authorid ).exec(callback)
,
, function(err, results)
// some function
【问题讨论】:
【参考方案1】:调用callback
表示您已完成该特定操作。
async.parallel
等待直到调用所有回调,然后调用最后一个函数并将结果传递给它,该结果从之前的每个操作中的回调中获得。
因此,在您的情况下,async
同时调用您的两个操作。当猫鼬通过req.body.authorid
查找作者找到或抛出错误时调用回调,authors_books
相同。为了确定所有并行函数何时完成,最后一个函数已使用err
和results
参数调用。您可以查看err
和results
以了解这些操作是如何完成的。
注意:你会在最后一个函数的results参数中得到运算结果。例如,您将在 results.author
的第一个操作中获得 author
,而 results.authors_books
将来自第二个操作。
【讨论】:
以上是关于函数的使用(回调)的主要内容,如果未能解决你的问题,请参考以下文章