gpt4 book ai didi

javascript - 在 NodeJS 中,如何从虚拟函数中退出父函数

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

我有类似以下内容

var async = require(async)

function start () {
async.series(
[
function (callback) {
// do something
callback(null, "Done doing something")
return // EXIT start() NOT JUST THIS VIRTUAL FUNCTION
},
function (callback) {
// do something else if the first thing succeeded
callback(null, "Done doing something else")
}
],
function (err,result) {
if (err) {
console.log(err)
}
}
)

console.log("All done!")
}

// Start doing stuff
start()

是否可以根据包含的虚拟函数中的某些条件退出函数 start(),我在其中添加了注释“EXIT start() NOT JUST THIS VIRTUAL FUNCTION”

最佳答案

简而言之,是的,您可以提前退出任务系列。 async 使用error-first callbacks ,这是 Node.js 中的基本异步回调结构。有关使用 Node.js 进行异步开发的其他资源,请参阅这个很棒的 blog post来自 RisingStack。

来自async的回调返回到当async.series时调用的最终回调。如果提供则已完成,此回调是可选的。如果系列中的某个任务返回的回调的第一个参数(即错误参数)中的值不是 null,则 series 将中断并返回到最终的回调处理程序。

async.series(
[
function (callback) {

// If some condition is met, exit series with an error
if (someCondition)
return callback('exit start', null);

return callback(null, 'Done doing something');
},
function (callback) {
if (someCondition)
return callback('error', null);

// do something else if the first thing succeeded
return callback(null, "Done doing something else")
}
],
function (err,result) {
// Handle error returned from a series callback if one occurred
if (err) {
console.log(err)
}
}
)

关于javascript - 在 NodeJS 中,如何从虚拟函数中退出父函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435848/

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