小编Roc*_*boa的帖子

从 Firestore 获取数据时使用 async forEach 循环

我的 firestore 数据有点像这样:

"Support": { "userid":"abcdxyz", "message": "hello" }

我正在使用 nodejs 来获取我的数据,我还想显示发送此消息的人的电子邮件地址和姓名。所以我使用以下功能:

database.collection("support").get().then(async function (collections) {
var data = [];
console.log("data collected");
collections.forEach(async function (collection) {
    var temp = {};
    var collectionData = collection.data()
    var userInfo = await getUserDetails(collectionData.userId)
    temp.name = userInfo.name
    temp.supportMessage = collectionData.supportMessage
    data.push(temp)
    console.log("data pushed")
});
    console.log("data posted")
    return res.status(200).end(JSON.stringify({ status: 200, message: "Support Message fetched successfully.", data: data }))
}).catch(error => {
    return res.status(500).end(JSON.stringify({ status: 500, message: "Error: " + error }))
});
Run Code Online (Sandbox Code Playgroud)

这里的日志顺序是:采集数据、发布数据、推送数据

我想要这样的顺序:收集数据,推送数据(x 次),发布数据

node.js async-await firebase google-cloud-firestore

5
推荐指数
2
解决办法
3916
查看次数

沉默 X 秒后停止录音

我正在实施以下教程:语音转文本

我正在使用 AVAudioEngine 录制音频并使用 SFSpeechRecognizer 来实现语音到文本。此处,教程使用开始和停止录制的按钮将语音引导为文本。

当应用程序获得许可时,我开始在 viewDidAppear 进行录制。但我找不到任何方法可以在几秒钟的沉默后停止录制。以下是我的代码:

import UIKit
import Speech

public class ViewController: UIViewController, SFSpeechRecognizerDelegate {
// MARK: Properties

private let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))!

private var recognitionRequest: SFSpeechAudioBufferRecognitionRequest?

private var recognitionTask: SFSpeechRecognitionTask?

private let audioEngine = AVAudioEngine()

@IBOutlet var textView : UILabel!

@IBOutlet var recordButton : UIButton!


public override func viewDidLoad() {
    super.viewDidLoad()

    recordButton.isEnabled = false
}

override public func viewDidAppear(_ animated: Bool) {
    speechRecognizer.delegate = self

    SFSpeechRecognizer.requestAuthorization { authStatus in
        /*
         The callback …
Run Code Online (Sandbox Code Playgroud)

ios avaudioengine swift3

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