【问题标题】:Thread for StringbyEvaluatingJavascript FunctionStringbyEvaluatingJavascript 函数的线程
【发布时间】:2017-03-03 15:42:18
【问题描述】:

我正在向 javascript 发送一个值,然后 javascript 将结果返回给我。但是,返回值 (b) 保持为空需要时间,因为 javascript func 需要时间。我想我需要创建一个线程来等待结果。下面的代码也没有返回任何东西。

    func webViewDidFinishLoad(_ webView: UIWebView)
{
    var b = ""
    //Threat gcdc
    DispatchQueue.main.async {
    b = webView.stringByEvaluatingJavaScript(from: "getURL('\(self.song_number)')")!
    }
    print(b)
}

【问题讨论】:

  • 尝试使用 evaluateJavaScript(_:completionHandler:)。我认为你有一些错误。
  • @Sergey 我对此进行了研究,但不知道如何使用它。能详细点吗?

标签: ios multithreading dispatch dispatch-async stringbyevaluatingjavascr


【解决方案1】:

尝试使用evaluateJavaScript(_:completionHandler:)

webView.evaluateJavaScript("getURL('\(self.song_number)')") { (result, error) in
      if let error = error
      {
        print("\(error)");
        return
      }
      if let song = result as? String
      {
        print("\(song)");
      }
}

【讨论】:

    猜你喜欢
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    相关资源
    最近更新 更多