Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 无法从承诺返回的对象访问属性_Javascript_Ecmascript 6_Promise - Fatal编程技术网

Javascript 无法从承诺返回的对象访问属性

Javascript 无法从承诺返回的对象访问属性,javascript,ecmascript-6,promise,Javascript,Ecmascript 6,Promise,我的目标如下: const api = { post: () => { return new Promise((resolve, reject) => { resolve({ response: { data: { token: "abcdefghijkl", },

我的目标如下:

const api = {
    post: () => {
        return new Promise((resolve, reject) => {
            resolve({
                response: {
                    data: {
                        token: "abcdefghijkl",
                    },
                 },
              });
        })
      }
   };
当我执行
api.post()。然后((res)=>console.log(res.data))
即使
console.log(res)
打印整个对象,我也会得到
undefined

尝试以下方法:

const api = {
    post: () => {
        return new Promise((resolve, reject) => {
            resolve({
                response: {
                    data: {
                        token: "abcdefghijkl",
                    },
                 },
              });
        })
      }
   };

api.post().then((res) => console.log(res.response.data))

应该是
res.response.data

api.post().then((res) => console.log(res.response.data)
或者,如果要通过
res.data
访问它,请更新从promise返回的对象

resolve({
  data: {
    token: "abcdefghijkl",
  }
});

您正在传递
resolve
一个顶级属性为
response
的对象。它没有顶级的
数据
属性虽然很明显,但您是否可以添加关于错误的解释,以及您为使其正常工作所做的更改。