node.js - Promise.all 调出 "TypeError: undefined is

我一直在开发 React 网络应用来发送群发短信。基本总结:你上传一个 CSV 文件,它从中提取电话号码并映射它们,然后你可以使用 Twilio 向电话号码发送文本。上次我测试它时,一切正常。

由于各种原因,我已经有一段时间没有接触应用程序的那部分了。翻了一下我的手机,我最后一次实际测试 SMS 功能应该是 5 月 26 日。今天测试时,我在终端中收到以下错误消息:

TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

at Function.all ()

at /Users/[me]/furlane_tool/client/server/index.js:30:11

有问题的行是 Promise.all 行。我从 6 月开始打开一个旧版本(我可以访问的最旧版本),我不得不对 Node 进行一些更新以使一些东西工作(即 eslint)。它仍然提出了错误。当我将行更改为小写的“promise”作为测试时,我收到“ReferenceError: promise is not defined”。

我想知道 Node 或 React 是否发生了一些变化,以及从那时起它们如何处理 promise ,或者我是否在尝试让其他一些不相关的功能正常工作时以某种方式搞砸了代码。它确实正确地映射了终端中的数字。

相关代码:

app.post('/test', (req, res) => {
  res.header('Content-Type', 'application/json');
  const numbers = req.body.to;
    console.log("This is the to numbers:" + numbers);


  Promise.all(
    console.log(numbers[0]),
    numbers[0].map(number => {
      console.log("Numbers mapped:", number);
      return client.messages.create({
        to: number,
        from: process.env.TWILIO_PHONE_NUMBER,
        body: req.body.body
      });
    })
  )
    .then(messages => {
      console.log('Messages sent!');
    })
    .catch(err => console.error(err));
});

如果您需要代码的任何其他部分,请告诉我!

最佳答案

Promise.all() 应该接受一个数组参数

关于node.js - Promise.all 调出 "TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64035514/

相关文章:

azure - azure应用程序服务命令自动缩放抛出["UnsupportedMetric"]错误

angular - 如何将参数传递给 Angular 中的模态

html - 如何通过 CSS 更改 SVG 的大小

css - 防止在显示 : flex 时出现空白

apache-spark - 在 SPARK 中将多列组合成单列

javascript - 使用 React.js 时未定义 Web Speech API Speec

python - GitPython - 添加已修改、已删除、未跟踪到 Git 存储库

node.js - Nodejs Swagger 无法向请求添加授权 header

reactjs - antd 切换勾选属性

dialogflow-es - Ngrok url 每天都在变化 我启动 Ngrok