如何从另一个动作(redux)导入异步功能?

时间:2019-02-27 11:51:39

标签: javascript react-native redux

我想将异步功能从一个动作导入到redux中的另一个动作,但是它总是抛出此错误:

enter image description here

但是,如果我将它与调用该函数的方法放在同一个文件中,则它起作用。

那是我的功能:

async function getStuff(uid, callback) {
  await firebase.database().ref('users/' + uid + '/stuff').once('value')
    .then(snapshot => {
      callback(snapshot.val());
    })
    .catch((err) => console.log(err))
}

这就是我调用该函数的方式:

await getStuff(uid, async() => {
   // some stuff
});

这就是我导入它的方式:

import { getStuff } from './stuff_actions';

1 个答案:

答案 0 :(得分:1)

您还必须从函数所在的文件中导出函数

export async function getStuff(uid, callback) {
  await firebase.database().ref('users/' + uid + '/stuff').once('value')
    .then(snapshot => {
      callback(snapshot.val());
    })
    .catch((err) => console.log(err))
}