我一直在开发一个React Web应用程序,用于发送批量短信。基本上,您需要上传CSV文件,它会从中提取电话号码并进行映射,然后您就可以使用Twilio向这些电话号码发送短信。上次测试时,一切正常。
由于各种原因,我已经有一段时间没有接触过该应用程序的这个部分了。在查看我的手机后,我最后一次测试短信功能的时间应该是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未定义”。
我想知道自那时以来Node或React在处理Promises方面是否有所改变,或者我在尝试获取其他不相关功能时是否弄乱了代码。但是,它确实可以正确地在终端中映射这些数字。
相关代码:
由于各种原因,我已经有一段时间没有接触过该应用程序的这个部分了。在查看我的手机后,我最后一次测试短信功能的时间应该是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未定义”。
我想知道自那时以来Node或React在处理Promises方面是否有所改变,或者我在尝试获取其他不相关功能时是否弄乱了代码。但是,它确实可以正确地在终端中映射这些数字。
相关代码:
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
接受一个参数,该参数必须是一个对象数组。这里给出了两个参数,第一个参数是console.log(...)
,它返回undefined
。 - undefined