我是 Promise
的新手目的。当我在 NodeJS
中运行以下代码时
function solution(num){
return getData(num).then(getMax);
}
function getData(num){
return Promise.resolve({
first: 80 * num,
second: 30 * num
});
}
function getMax(numbers){
return Promise.resolve(Math.max(...numbers));
}
solution(10)
我面临错误
(node:7814) UnhandledPromiseRejectionWarning: TypeError: Found non-callable @@iterator at getMax
你能帮我修一下吗?
谢谢
最佳答案
你在做...numbers
预计 numbers
是可迭代的,但在你的情况下它是对象
尝试使它成为一个数组(或任何可迭代的),它应该可以工作
function solution(num){
return getData(num).then(getMax);
}
function getData(num){
return Promise.resolve([80 * num, 30 * num]);
}
function getMax(numbers){
return Promise.resolve(Math.max(...numbers));
}
solution(10).then(console.log)
请阅读 comment如果你想修复你的原始代码
关于javascript - Javascript中promise和@@iterator的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61995206/