我正在尝试将值sum
从funcA
到funcb
,但是
我得到NaN
。
我试图通过给函数赋予let值来访问sum
中的funcA
值,但总和值不会传递给f2
。
我的错误在哪里?
let f1 = function funcA(arr)
{
let prom = new Promise(resolve =>{
let sum = 0
arr.map(x =>
{
x.forEach(num =>
{
sum += num
})
})
setTimeout( () => resolve(sum) ,2000 )
})
return prom
}
f1([[1,6,3,9],[6,12,5,21],[4,11,23,1]]).then(x => console.log(x))
let f2 = function funcB(sum)
{
let prom = new Promise(resolve => {
let dubSUm = sum * 2
setTimeout( () => resolve(dubSUm), 3000 )
})
return prom
}
f2().then(x => console.log(x))
答案 0 :(得分:3)
您的f2
函数将“和”(可能是f1
返回的Promise的输出)作为参数-但在您的示例中,您未提供它。
您已经完成了大部分“艰苦的工作”,您只需要兑现承诺-您可以这样做:
f1([[1,6,3,9],[6,12,5,21],[4,11,23,1]])
.then(f2)
.then((x) => console.log(x))