Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从js promise获取数据_Javascript_Ember.js_Promise - Fatal编程技术网

Javascript 从js promise获取数据

Javascript 从js promise获取数据,javascript,ember.js,promise,Javascript,Ember.js,Promise,我正在执行一个返回承诺的api调用。调用工作正常,但我想处理承诺中包含的数据。这是我的电话: let promiseArray = this.get('store').query('member', {query: term, option: this.get('option')}); promiseArray.then(members => {console.log(members); }); let var= members; console.log(var);

我正在执行一个返回承诺的api调用。调用工作正常,但我想处理承诺中包含的数据。这是我的电话:

  let promiseArray = this.get('store').query('member', {query: term, option: this.get('option')});
  promiseArray.then(members  => {console.log(members);
  });

  let var= members;
  console.log(var);
我的问题是,它不返回我的模型数组,即成员,也不返回第二个显示未定义的成员,它返回一个包含大量元数据的对象,也返回数组,但包含一些元数据


如何简单地获取阵列?

您可以使用
async
wait
来实现您的目的

const promiseFunc =  () => {
    // Return the promise and await this inside a async function
    return this.get('store').query('member', {query: term, option: this.get('option')});
}

const asyncFunc = async () => {
    const value = await promiseFunc();
    console.log(value);
}

asyncFunc();

这回答了你的问题吗?你需要做的是在then函数内部。我想得到数组成员以便进行相同的处理,但我得到的是一个包含大量元数据的对象,在其中我可以找到我的数组。如果你在异步函数外部进行控制台操作,那么这应该是未定义的。你必须在异步函数内做任何你想做的事情。不是在异步函数外,而是在异步函数内,我正在取消定义。我忘记了返回,它可以工作,但我仍然得到一个包含大量元数据的对象,而不仅仅是从后台返回的一个数据数组。你能分享你得到的输出吗?余烬数据添加元数据-这还不错,只是保留记录而已。你可以忽略它。你运行的任何操作(映射、筛选、forEach)都将在原始数据上运行。您还可以调用.toArray()仅获取模型。