gpt4 book ai didi

javascript - 将带有 Promise 的函数调用到 foreach 中

转载 作者:行者123 更新时间:2023-12-02 22:55:55 26 4
gpt4 key购买 nike

我收到此错误:

"lambdaCallbackWith": [
"TypeError: #<Promise> is not a function",
"at Array.forEach (<anonymous>)",

当我运行下面的代码时:

   var resizeVolume =  function* (event, context) {          

var co = require('co');
volumes.forEach(co(function *(volume) {

yield eC2.setNewVolume(volume.VolumeId, volumeSize);
}));
}

在foreach中出现错误,我添加了CO但没有成功。

没有 CO 的代码显示错误,指出产量是保留字。

最佳答案

yield 只能在生成器函数中使用。这就是为什么

volumes.forEach(() => {
yield ...
})

不起作用。

您将需要一个库来在 forEach 循环中使用生成器,例如 co-foreach .

如果您不想,可以使用常规的 for 循环,如下所示:

const co = require('co');

var resizeVolume = function* (event, context) {
co.wrap(function *() {
for (let i = 0 ; i < volumes.lenght ; i++) {
const volume = volumes[i];
yield eC2.setNewVolume(volume.VolumeId, volumeSize);
}
});
}

关于javascript - 将带有 Promise 的函数调用到 foreach 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57981918/

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