Perfect Framework を使用して Swift 3.0 サーバーを作成しました。すべてが期待どおりにうまく機能しますが、いくつかのことを行うためのより良い方法があるかどうかを学ぼうとしています.
iOS のバックグラウンドから来て、私は常に別のスレッドでブロッキング関数を呼び出すことを知っています。サーバーで開発する場合、これはまだ保持されますか?
たとえば、長いブロッキング タスク (別のリクエストを作成したり、大規模なデータベース クエリを実行したりするなど) がある場合、それを同期的に呼び出すことに違いはありますか。
routes.add(method: .get, uri: "/", handler: { request, response in
longSynchronousTask()
response.appendBody(string: "Finished")
response.completed()
})
または、これを非同期で行う必要がありますか?
routes.add(method: .get, uri: "/", handler: { request, response in
longAsynchronousTask(completion: {
response.appendBody(string: "Finished")
response.completed()
})
})