小编Cha*_*nce的帖子

使用异步时如何在主线程上进行调用?我们如何/为什么离开主线程?

晚安,抱歉我的英语不好,我正在学习 swift async/await、任务和调度。好吧,我得到了执行谷歌登录的代码块有几个回调,所以我尝试将整个方法转换为异步。

self.navigationController?.dismiss(animated: true, completion: nil)我的问题是,当我调用重构方法并应用 async/await 时,我在使用断点执行时收到错误Thread 14: "Call must be made on main thread"

我明白他的意思,但是如何在主线程上运行 .dimiss ?我说我已经不在主线了?它是从什么时候出来的,我不太明白。

这是我的带有链式回调的代码,它工作正常。

    guard let clientId = FirebaseApp.app()?.options.clientID else {
        print("failed get clientId google signin")
        return
    }
    
    let config = GIDConfiguration(clientID: clientId)
    
    GIDSignIn.sharedInstance.signIn(with: config, presenting: self, callback: { [weak self] authResult, error in
                guard let strongSelf = self else {
                    return
                }

                guard authResult != nil, error == nil else {
                    if let error = error { …
Run Code Online (Sandbox Code Playgroud)

uikit async-await swift

5
推荐指数
0
解决办法
5073
查看次数

fs.writeFile() 中的换行符?

每次调用函数时,是否可以让 FS 写入 .txt 文件中的换行符?我在下面的例子中尝试过 \n ,但它似乎不起作用:

for(let i = 0; i < 5; i++){
    fs.writeFile('./file.txt', '\n '+ i.toString(),(error) => {
       if(error){
          console.log(error)
       }else{
          console.log('success')
       }
   })
}
Run Code Online (Sandbox Code Playgroud)

node.js

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

async-await ×1

node.js ×1

swift ×1

uikit ×1