晚安,抱歉我的英语不好,我正在学习 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) 每次调用函数时,是否可以让 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)