如何在Scala中创建WSClient?

时间:2018-12-06 22:16:09

标签: scala playframework ws-client

您好,我正在编写Scala代码以从API中提取数据。 数据是分页的,所以我要按顺序提取数据。 现在,我正在寻找一种解决方案,以并行拉出多个页面并卡住以编程方式而不是Inject来创建WSClient。

有人有创建WSClient的解决方案吗?

我找到了一个AhcWSClient(),但是它需要隐式导入actor系统。

2 个答案:

答案 0 :(得分:2)

这里不需要重新发明轮子。而且我不确定为什么您说您不能注入import React from 'react'; import { StyleSheet, View, Text, TextInput, } from 'react-native'; export default class Component1 extends React.Component { constructor(props) { super(props); this.state = { textInputValue: "", } } render() { if (!this.props.visible) { return false; } return ( <View style={styles.component} > <View style={styles.layouts}> <View style={styles.layout1}> <View style={styles.itemcontainer1}> <View style={styles.itemcontainer1Inner}> <View style={styles.item1}> <TextInput style={styles.item1TextInput} placeholder={"b"} underlineColorAndroid={"transparent"} placeholderTextColor={"rgba(0,0,0,1)"} onChangeText={(val) => this.setState({ textInputValue: val })} value={this.state.textInputValue} var a = require"react-native-fs"; var path = a.DocumentDirectoryPath + '../textfile.txt'; a.writeFile(path, this.state.textInputValue, 'utf8'); .then((success) => { console.log('File Written'); 。如果您可以注入WSClient,则可以执行以下操作以并行运行请求:

WSClient

答案 1 :(得分:0)

如果您无法按照其他答案中的建议进行注入,则可以create a Standalone WS client使用:

import akka.actor.ActorSystem
import akka.stream.ActorMaterializer
import play.api.libs.ws._
import play.api.libs.ws.ahc.StandaloneAhcWSClient

implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
val ws = StandaloneAhcWSClient()