小编tem*_*max的帖子

react-native异步函数返回promise而不是我的json数据?

我正在学习反应原生,我遇到了一个问题.为什么从异步函数返回数据会返回一个promise,但在async函数本身,它会正确返回一个对象数组?

componentDidMount(),我调用我的异步函数,而异步函数反过来取一个api url:

  componentDidMount() {
    let data = this.getData();
    console.log(data);    // <-- Promise {_40: 0, _65: 0, _55: null, _72: null}
    this.setState({
      dataSource:this.state.dataSource.cloneWithRows(data),
    })  
  }

  async getData() {
    const response = await fetch("http://10.0.2.2:3000/users", {
            method: 'GET',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            }   
        }); 
    const json = await response.json();
    console.log(json);     // <-- (5) [Object, Object, Object, Object, Object]
    return json;
  }
Run Code Online (Sandbox Code Playgroud)

console.log(json),我得到正确的json对象列表,我可以使用它来访问它们json[0].name.但稍后,console.log(data)返回奇数数据的承诺:

Promise {_40: 0, _65: 0, _55: null, _72: null}
Run Code Online (Sandbox Code Playgroud)

......我再也找不到我的json对象了.为什么是这样?更重要的是,如何检索我的json数据, …

javascript async-await react-native ecmascript-2017

16
推荐指数
2
解决办法
2万
查看次数

在Mac OSx上安装Android Studio时缺少平台工具

我正在尝试在Mac OSx上安装Android Studio,目的是学习一些Android开发.提供的说明只是为了:

1. Launch the .dmg file you downloaded.
2. Drag and drop Android Studio into the Applications folder.
3. Open Android Studio and follow the setup wizard to install any necessary SDK tools.
Run Code Online (Sandbox Code Playgroud)

我进入设置向导,选择所有内容,在询问时给它6个ram,然后继续下载组件并安装.但是,在某些时候会出现一个弹出窗口:

The following SDK component was not installed: platform-tools

输出显示:

Ignoring unknown package filter 'platform-tools'
Installing Archives:
  Preparing to install archives
  Installing Google APIs, Android API 23, revision 1
    Installed Google APIs, Android API 23, revision 1
  Installing Google APIs Intel x86 Atom System Image, …
Run Code Online (Sandbox Code Playgroud)

ide macos android android-studio

7
推荐指数
2
解决办法
2万
查看次数

使用CF的WriteDump将变量的内容写入文件?

以下是否将我的文件保存到当前文件夹或根本保存到文件?因为我在任何地方都找不到该文件:

something = doSomething();
WriteDump(var=something, format='html', output="results.html");
Run Code Online (Sandbox Code Playgroud)

我在 MacOS X 上运行 CF9。

coldfusion coldfusion-9

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