javascript - JavaScript 导出函数中的多次返回
问题描述
我正在导出一个返回函数的函数。我想要另一个带有先前返回的函数的返回语句,如图所示。
export function fetchData(id) {
return function(dispatch) {
REST.jsonRestGet(`data/sos/${id}`, Data.prepareSosData(
(data) => {
console.log(data);
return data; // returns undefined
}))
}
}
在将这个函数导入并调用到另一个组件中时,它返回 undefined。
解决方案
这似乎是一个异步调用。由于该语句是异步执行的,因此它不会返回任何内容。此外,回调中的 return 语句只会将值返回给第二个参数,而不是您期望的变量。
你可以使用 Promise 来获取返回的数据。
推荐阅读
- scala - Scala 匹配和引用相等性检查
- node.js - socket.io 可以在发送到特定客户端时支持回调吗?
- wordpress - 旋转滑块第一帧的字母 A 是什么意思?
- typo3 - FrontendUser 中的附加字段未保存
- javascript - Angular 6:调用 HTTP 请求后未设置类的属性
- css - Map 上的 @each 循环不会用值替换变量,而是在 SASS 中打印变量名
- firebase - Firebase(firestore)规则:仅在更新另一个文档时确保更新(FieldValue 增加)?
- c# - 如何确定 .NET 程序集是否使用平台目标 AnyCPU、AnyCPU Prefer32 位、x86、x64 构建,而不使用反射和第三方软件
- reactjs - 在 React 中将深度嵌套的 JSON 对象传递给 PureComponent 道具的最佳方法是什么?
- javascript - 用户更改类型时添加新类