addSnapShotListener 触发所有依赖于它的函数?

addSnapShotListener triggers all the function dependent to it?

我了解到当 FireStore 中的数据发生变化时,AddsnapshotListener 会被实时触发。
但是,我不确定在下面的代码中触发了哪个函数。
是否只有函数 C 被触发?还是所有功能?
如果所有函数运行,函数A的参数会发生什么??

func C() {
        print("C")
        deckDocRef.addSnapshotListener { snapShot, err in
            ...
        }
    }
    
    func B() {
        print("func B")
        C()
    }
    
    func A(a: Bool) {
        if a {
            print("a")
            B()
        } else {
            print("b")
        }
    }

当数据发生变化时(以及在初始加载时) 您的侦听器中的代码(您问题中的 ...)被调用。对函数 AB 没有影响。所以任何需要数据库数据的代码都必须在快照回调中,从那里调用,或者以其他方式与该代码同步。

如果这让您感到惊讶,您可能是处理异步回调的新手。如果是这样,我建议您查看:

  • SwiftUI - Wait until Firestore getDocuments() is finished before moving on