gpt4 book ai didi

javascript - 您可以将参数传递给函数而不立即调用它吗?

转载 作者:搜寻专家 更新时间:2023-11-01 05:12:04 25 4
gpt4 key购买 nike

我需要为 pipe() 处理函数提供一堆函数名称,以便它可以按顺序执行它们,等待每个函数完成。当这些函数不需要参数传递时,这很好,但是当需要参数时,我无法弄清楚如何在函数不继续并调用自身(由括号引起)的情况下传递它们。

例如,这是我通常传递的内容:

pipeHandler([function1, function2]);

然后它将在 promise 完成之前调用 function1()function2()

困难的地方是当我想做这样的事情时:

pipeHandler([function1('value'), function2]);

这会导致 function1() 立即调用,完全绕过 promise 机制。

如果有帮助,这是处理函数:

function pipeHandler(requiredFunctions) {
//Execute first required function
var executeFunctions = requiredFunctions[0]();

//Execute each subsequent required function using pipe()
for ( var index = 1; index < requiredFunctions.length; index++ ) {
executeFunctions = executeFunctions.pipe(requiredFunctions[index]);
}

//Execute allDone() using pipe()
executeFunctions = executeFunctions.pipe(allDone);
}

希望有人有想法!

最佳答案

为什么不

pipeHandler([function() { function1('value'); }, function2]);

?

这就是匿名函数大放异彩的地方。如果您花一些时间使用 Javascript,您可能会在某些时候使用 setTimeOut 时遇到同样的问题。

关于javascript - 您可以将参数传递给函数而不立即调用它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21550502/

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