首页 > 解决方案 > 如何从另一个动作(redux)导入异步函数?

问题描述

我想将一个异步函数从一个动作导入另一个动作redux,但它总是抛出这个错误:

在此处输入图像描述

但是,如果我将它放入与调用该函数的方法相同的文件中,它就可以工作。

这是我的功能:

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';

标签: javascriptreact-nativeredux

解决方案


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

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))
}


推荐阅读