当前位置: 首页 > 面试题库 >

当每个函数返回deferred.promise时,如何链接函数数组的执行?

裴鸿熙
2023-03-14
问题内容

我已经使用延迟模块在Node.js中创建了我的第一个延迟对象,当我将结果传递给下一个函数并触发解析和拒绝时,它的效果很好。当每个函数返回deferred.promise时如何链式执行函数数组?我有函数的输入参数数组和第一个函数的输入参数,每个下一个函数都从上一个获取参数。

它的工作方式类似于f1(100).then(f2).then(f3),但是当我有n个函数时该如何工作。


问题答案:

您需要在循环中构建一个Promise链:

var promise = funcs[0](input);
for (var i = 1; i < funcs.length; i++)
    promise = promise.then(funcs[i]);


 类似资料:
  • 我有一系列函数,它们接收请求对象并返回Vavr。 如果任务已完成,则要么将包含一个Result对象,如果任务需要由另一个函数完成,则将包含一个修改后的Request对象。 我的想法是,我可以通过做这样的事情把它们联系在一起: 但是很明显不是一个东西,所以我最终在左侧有一个嵌套的Eithers。关于如何实现此功能有什么想法吗?我对替代库持开放态度。 编辑: 看起来应该这样做,但Intellij在第二

  • 问题内容: 在Python中,我想编写一个返回另一个函数的函数。返回的函数应该可以通过参数调用,并返回高度和半径为圆柱的体积。 我知道如何从Python中的函数返回 值 ,但是如何返回 另一个函数 ? 问题答案: 使用Python尝试一下: 这样使用它,例如与和: 注意,返回一个函数很简单,只需在函数内部定义一个新函数,然后在最后返回它- 小心地为每个函数传递适当的参数。仅供参考,从另一个函数返回

  • 在rust中,任何函数都有返回类型,当函数返回时,会返回一个该类型的值。我们先来看看main函数: fn main() { //statements } 之前有说过,函数的返回值类型是在参数列表后,加上箭头和类型来指定的。不过,一般我们看到的main函数的定义并没有这么做。这是因为main函数的返回值是(),在rust中,当一个函数返回()时,可以省略。main函数的完整形式如下:

  • C++ 数组 C++ 不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。 如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:int * myFunction() { . . . } 另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。 现在,让我们来看下面的函数,它会生成 10 个随机数,并

  • 问题内容: 我试图创建一个可以异步运行多个进程并发送响应的函数。由于不返回响应,因此我想创建一个函数为: 在此函数中,我异步调用,它接受的其他参数。由于列表是作为参考传递的,所以我认为我可以在列表中附加实际功能的响应。和将返回我所有的功能的响应。 但这并不符合我的预期。值会附加到中的,但工作人员列表外部仍为空。 知道我在做什么错吗?而且,有没有其他选择可以实现我的目标? 问题答案: 您不能直接在流

  • 我想用C++做一个简单的函数来练习一下。它应该做与python中的range()函数相同的事情,但现在要简单得多。我遇到了一个问题,数组没有正确地从函数返回到主函数。我曾经在下面编码,得到了一个奇怪的错误。有人知道问题出在哪里吗?