javascript - TypeError: func(...).then 不是函数
问题描述
我是 JavaScript 的初学者。我试图理解 JS 中的功能和承诺。我写了一个小代码。代码目的:我写这段代码是为了理解promise function( then
)在有返回值的函数上的工作。输入:a,b 输出:如果 a & b 的和为 0,则显示警报语句,否则在警报值中显示 sum。
const func = (a, b) => {
let operand1 = a * 10;
let operand2 = b * 10;
return operand1 + operand2
};
const funcwrapper = (a, b) => {
func(a, b).then((sum) => {
if (sum == 0) {
window.alert("value is zero");
} else {
window.alert(("sum is " + sum));
}
})
};
funcwrapper(5, 5);
经过大量调查后,我仍然对这个具有一些返回值的函数的承诺感到困惑。所以最后尝试实现代码来理解并陷入这个错误。
请帮助我理解这个话题。
感谢您的帮助。提前致谢
解决方案
func()
需要返回一个承诺:
const func = (a, b) => {
let operand1 = a * 10;
let operand2 = b * 10;
return new Promise((resolve, reject) => resolve(operand1 + operand2));
};
const funcwrapper = (a, b) => {
func(a, b).then((sum) => {
if (sum == 0) {
window.alert("value is zero");
} else {
window.alert(("sum is " + sum));
}
})
};
funcwrapper(5, 5);
推荐阅读
- python - 每次运行(使用 pytorch+cuda)在批量标准化时都是不同的,即使是在 RNG 播种的情况下
- flutter - 如何让应用程序在 Flutter 的后台运行?
- cmake - 使用 CMake 构建和缓存与主要目标隔离的外部项目依赖项
- python - 如何使用用户输入继续目录中的文件?
- android - Card VS Box 渲染差异
- javascript - 数组中紧挨着的数字组
- saga - Rebus Saga 的并发异常
- flutter - 如何通过 Flutter 中的使用方法 startsWith 获取由特殊字母开头的确切单词
- javascript - 从脚本更新选择器后获取样式文本
- python - 烧瓶应用程序 - 删除功能不起作用