第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在firebase方法完成reactjs之前運(yùn)行另一個方法的問題

在firebase方法完成reactjs之前運(yùn)行另一個方法的問題

素胚勾勒不出你 2024-01-18 17:16:16
首先,這個 lambda 只需點(diǎn)擊一個按鈕即可工作。當(dāng)我刷新頁面時(shí)按下按鈕時(shí),我從控制臺收到一條“未定義”消息。但是當(dāng)我等待一小會兒(沒有刷新頁面)并再次單擊按鈕時(shí),我可以在控制臺上看到我期望的值。為此,我想到了使用睡眠功能,但我不想使用它。我可以使用多線程程序中使用的機(jī)制(例如鎖定/同步)來解決這個問題嗎?重要的是,這是什么原因?請注意:我是 React 和 Web 開發(fā)的新手。代碼;const handleAddCarPark = () => {        var dbRef = fire.database().ref("foo/bar/qux");    var newParkID;    var copy_count;    dbRef.child("count").on("value", snapshot => {        newParkID = parseInt(snapshot.val()) + 1000000;        copy_count = parseInt(snapshot.val());    });    console.log(newParkID);}
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個贊

on()是異步的并且立即返回。稍后,當(dāng)查詢完成時(shí),回調(diào)將被調(diào)用,并且每次數(shù)據(jù)更改時(shí)都會再次調(diào)用。

在 JavaScript 中,只有一個線程。不需要鎖定或多線程技術(shù)。所有代碼和回調(diào)都在單個線程上調(diào)用。

您的代碼應(yīng)該只使用您傳遞給的回調(diào)內(nèi)部的查詢結(jié)果on()。

如果您打算只查詢一次而不監(jiān)聽可能隨時(shí)間變化的結(jié)果,則應(yīng)該使用once()而不是on()once()也是異步的,并返回帶有查詢結(jié)果的承諾。您應(yīng)該學(xué)習(xí)如何使用這些 Promise,因?yàn)樗鼈兪悄?JavaScript 中處理異步結(jié)果的主要方式。


查看完整回答
反對 回復(fù) 2024-01-18
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號