内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list($forumlist, $model = 0, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $model . '-' . $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 不分模型 * @param int $display 0全部CMS栏目 1在首页和频道显示内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list_show($forumlist, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 * @return mixed BBS栏目数据(仅列表) 尚未开放bbs频道功能 */ function forum_list($forumlist) { if (empty($forumlist)) return array(); static $cache = array(); if (isset($cache['bbs_forum_list'])) return $cache['bbs_forum_list']; $cache['bbs_forum_list'] = array(); foreach ($forumlist as $_fid => $_forum) { if ($_forum['type']) continue; $cache['bbs_forum_list'][$_fid] = $_forum; } return $cache['bbs_forum_list']; } // 导航显示的版块 function nav_list($forumlist) { if (empty($forumlist)) return NULL; static $cache = array(); if (isset($cache['nav_list'])) return $cache['nav_list']; foreach ($forumlist as $fid => $forum) { if (0 == $forum['nav_display']) { unset($forumlist[$fid]); } } return $cache['nav_list'] = $forumlist; } ?>javascript - What is the best way to use asyncawait inside onAuthStateChanged() of Firebase? - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - What is the best way to use asyncawait inside onAuthStateChanged() of Firebase? - Stack Overflow

programmeradmin0浏览0评论

I'm using Firebase authentication with async/await in React Native. I'm looking for a better way to await inside firebase function. So my question is What is the best way to use async/await inside firebase.auth().onAuthStateChanged()?

Now, I implement it in this way. Create a async function inside onAuthStateChanged() and call itself. Like the example below... However, I think it looks weird.

firebase.auth().onAuthStateChanged(user => {
  const asyncFunc = async () => {
    await doSomething();
  }

  asyncFunc();
});

Is there any better way to implement it?

Thank you for your answer.

I'm using Firebase authentication with async/await in React Native. I'm looking for a better way to await inside firebase function. So my question is What is the best way to use async/await inside firebase.auth().onAuthStateChanged()?

Now, I implement it in this way. Create a async function inside onAuthStateChanged() and call itself. Like the example below... However, I think it looks weird.

firebase.auth().onAuthStateChanged(user => {
  const asyncFunc = async () => {
    await doSomething();
  }

  asyncFunc();
});

Is there any better way to implement it?

Thank you for your answer.

Share Improve this question edited Jun 13, 2019 at 16:14 Robert Todar 2,1452 gold badges13 silver badges35 bronze badges asked Jun 13, 2019 at 14:50 chin8628chin8628 4767 silver badges17 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8
firebase.auth().onAuthStateChanged(async user => {
  const data = await getData();
  const action = await doSomething();
  // etc.
});


// also you can use
async function asyncHandler(user) {
    const data = await doSomething();
}

firebase.auth().onAuthStateChanged(asyncHandler);
发布评论

评论列表(0)

  1. 暂无评论