firebase 메소드가 reactjs를 완료하기 전에 다른 메소드가 실행되는 문제

탱고 -2

우선,이 람다는 버튼 클릭으로 작동합니다. 페이지를 새로 고칠 때 버튼을 누르면 콘솔에서 "정의되지 않음"메시지가 나타납니다. 하지만 잠시 기다렸다가 (페이지를 새로 고치지 않고) 버튼을 다시 클릭하면 콘솔에서 예상 한 값을 볼 수 있습니다. 이를 위해 수면 기능 사용을 생각했지만 사용하고 싶지 않습니다. 잠금 / 동기화와 같은 다중 스레드 프로그램에서 사용되는 메커니즘으로이 문제를 해결할 수 있습니까?

그리고 중요한 것은 그 이유가 무엇입니까?

참고 : 저는 반응 및 웹 개발이 처음입니다.

암호;

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);
}
더그 스티븐슨

on()비동기식이며 즉시 반환됩니다. 콜백은 나중에 쿼리가 완료되고 데이터가 변경 될 때마다 다시 호출됩니다.

JavaScript에는 스레드가 하나만 있습니다. 잠금 또는 멀티 스레딩 기술이 필요하지 않습니다. 모든 코드와 콜백은 단일 스레드에서 호출됩니다.

코드는 전달하는 콜백 내부의 쿼리 결과 만 사용할 것으로 예상해야합니다 on().

시간에 따라 변경 될 수있는 결과를 수신하지 않고 한 번만 쿼리하려는 경우 once()대신을 사용해야합니다 on(). once()또한 비동기식이며 쿼리 결과와 함께 promise를 반환합니다. 이러한 promise는 주로 JavaScript에서 비동기 결과를 처리하는 방법이므로 사용하는 방법을 배워야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

메소드가 두 번 실행되기 전에 주어진 메소드. 첫 번째는 null을, 두 번째는 문자열 인수를 캡처합니다.

분류에서Dev

.then은 다음 메소드를 호출하기 전에 setState가 완료되기를 기다 립니까?

분류에서Dev

ajax 호출이 완료되기 전에 메소드가 실행 중입니다.

분류에서Dev

다른 메서드를 트리거하기 전에 Flutter 메서드가 완료되었습니다.

분류에서Dev

SwingWorker가 다른 작업을 실행하기 전에 완료되기를 기다리는 중

분류에서Dev

ExtJS : Ext.Ajax.request가 완료되기 전에도 Next 메소드가 실행됩니다.

분류에서Dev

func collectionView는 dataTask () 메소드가 완료되기 전에 호출됩니다.

분류에서Dev

동시에 3 개의 메서드를 실행하고 다른 메서드는 어떤 메서드가 완료 될 때까지 기다립니다.

분류에서Dev

다른 클래스의 메소드를 참조하는 데 문제가 있음

분류에서Dev

foreach를 완료하기 전에 Firebase 클라우드 기능이 완료되었습니다.

분류에서Dev

drawImage 캔버스 메서드가 'img'요소가 완전히로드되기 전에 실행 중입니다.

분류에서Dev

계속하기 전에 객체 생성자 내부의 메서드가 완료되기를 기다리는 중

분류에서Dev

Selenium TestNG-현재 클래스의 실행을 완료하기 전에 다른 클래스의 메소드가 실행 됨

분류에서Dev

HttpClient를 삭제하기 전에 비동기 메서드가 완료 될 때까지 기다려야합니까?

분류에서Dev

PHP는 제출 후 URL에 다른 get 메소드를 추가합니다.

분류에서Dev

model-builder.js에서 "getter"메소드를 적용하는 데 문제가 있어야합니다.

분류에서Dev

자바 스크립트에서 post 메소드를 사용하는 데 문제가 있습니다.

분류에서Dev

함수가 완료되기 전에 서버에서 Meteor 메서드를 호출하면 반환됩니다.

분류에서Dev

메소드가 실행되기 전에 Thymeleaf 단편로드

분류에서Dev

VueJS 및 Firebase 저장소 : URI를 데이터베이스에 제출하기 전에 이미지 업로드가 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

Python-매개 변수가있는 메소드를 다른 메소드에 매개 변수로 전달-기본값 할당

분류에서Dev

Java 메소드에는 예외를 발생시키는 다른 메소드가 포함되어 있습니다.

분류에서Dev

내 React-Redux 코드는 이전 함수가 완료되기 전에 함수를 실행 중입니다.

분류에서Dev

일부 동기화 코드를 실행하기 전에 JS 비동기 함수가 완료되기를 기다리는 중

분류에서Dev

QMenu가 메소드를 제대로 실행하지 않습니다.

분류에서Dev

다른 게시를 시작하기 전에 하나의 게시가 완료되기를 기다리는 중

분류에서Dev

vue에서 문을 실행하기 전에 비동기가 완료되기를 어떻게 기다릴 수 있습니까?

분류에서Dev

Android : 현재 실행 스레드가 완료되기 전에 주 실행 루프를 강제 실행

분류에서Dev

다른 메서드 내부에서 메서드를 호출하는 데 문제가 있음

Related 관련 기사

  1. 1

    메소드가 두 번 실행되기 전에 주어진 메소드. 첫 번째는 null을, 두 번째는 문자열 인수를 캡처합니다.

  2. 2

    .then은 다음 메소드를 호출하기 전에 setState가 완료되기를 기다 립니까?

  3. 3

    ajax 호출이 완료되기 전에 메소드가 실행 중입니다.

  4. 4

    다른 메서드를 트리거하기 전에 Flutter 메서드가 완료되었습니다.

  5. 5

    SwingWorker가 다른 작업을 실행하기 전에 완료되기를 기다리는 중

  6. 6

    ExtJS : Ext.Ajax.request가 완료되기 전에도 Next 메소드가 실행됩니다.

  7. 7

    func collectionView는 dataTask () 메소드가 완료되기 전에 호출됩니다.

  8. 8

    동시에 3 개의 메서드를 실행하고 다른 메서드는 어떤 메서드가 완료 될 때까지 기다립니다.

  9. 9

    다른 클래스의 메소드를 참조하는 데 문제가 있음

  10. 10

    foreach를 완료하기 전에 Firebase 클라우드 기능이 완료되었습니다.

  11. 11

    drawImage 캔버스 메서드가 'img'요소가 완전히로드되기 전에 실행 중입니다.

  12. 12

    계속하기 전에 객체 생성자 내부의 메서드가 완료되기를 기다리는 중

  13. 13

    Selenium TestNG-현재 클래스의 실행을 완료하기 전에 다른 클래스의 메소드가 실행 됨

  14. 14

    HttpClient를 삭제하기 전에 비동기 메서드가 완료 될 때까지 기다려야합니까?

  15. 15

    PHP는 제출 후 URL에 다른 get 메소드를 추가합니다.

  16. 16

    model-builder.js에서 "getter"메소드를 적용하는 데 문제가 있어야합니다.

  17. 17

    자바 스크립트에서 post 메소드를 사용하는 데 문제가 있습니다.

  18. 18

    함수가 완료되기 전에 서버에서 Meteor 메서드를 호출하면 반환됩니다.

  19. 19

    메소드가 실행되기 전에 Thymeleaf 단편로드

  20. 20

    VueJS 및 Firebase 저장소 : URI를 데이터베이스에 제출하기 전에 이미지 업로드가 완료 될 때까지 기다리는 방법은 무엇입니까?

  21. 21

    Python-매개 변수가있는 메소드를 다른 메소드에 매개 변수로 전달-기본값 할당

  22. 22

    Java 메소드에는 예외를 발생시키는 다른 메소드가 포함되어 있습니다.

  23. 23

    내 React-Redux 코드는 이전 함수가 완료되기 전에 함수를 실행 중입니다.

  24. 24

    일부 동기화 코드를 실행하기 전에 JS 비동기 함수가 완료되기를 기다리는 중

  25. 25

    QMenu가 메소드를 제대로 실행하지 않습니다.

  26. 26

    다른 게시를 시작하기 전에 하나의 게시가 완료되기를 기다리는 중

  27. 27

    vue에서 문을 실행하기 전에 비동기가 완료되기를 어떻게 기다릴 수 있습니까?

  28. 28

    Android : 현재 실행 스레드가 완료되기 전에 주 실행 루프를 강제 실행

  29. 29

    다른 메서드 내부에서 메서드를 호출하는 데 문제가 있음

뜨겁다태그

보관