Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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_Undefined - Fatal编程技术网

Javascript 如何访问承诺之外的信息

Javascript 如何访问承诺之外的信息,javascript,undefined,Javascript,Undefined,javascript新手,在制定承诺等方面遇到了一些实际问题 我想做的就是能够在函数、方法、变量或其他任何东西之外访问dataData.album.name 每当我将dataData.album.name设置为一个变量时,一旦它超出承诺的范围,它就会立即变得未定义 根本无法实现,希望得到任何帮助记住承诺是异步的!这意味着它们在其他代码运行期间(或之后)在后台运行。不能从异步调用返回任何内容。回调(在.then()中)将在将来的某个时刻运行,只要它准备好了。您必须在此函数中运行与dataData.

javascript新手,在制定承诺等方面遇到了一些实际问题

我想做的就是能够在函数、方法、变量或其他任何东西之外访问
dataData.album.name

每当我将
dataData.album.name
设置为一个变量时,一旦它超出承诺的范围,它就会立即变得未定义


根本无法实现,希望得到任何帮助

记住承诺是异步的!这意味着它们在其他代码运行期间(或之后)在后台运行。不能从异步调用返回任何内容。回调(在
.then()
中)将在将来的某个时刻运行,只要它准备好了。您必须在此函数中运行与
dataData.album.name
有关的所有代码。或者有一个函数,您可以将
dataData.album.name
传递给该函数,该函数可以运行以执行您需要的操作(一旦检索到该值)。@SimonQAC请使用另一个
,然后在检查状态后使用
        var response = fetch('http://localhost:8082/tracks/read/'+trackid)
          .then(
            function(response) {
              if (response.status !== 200) {
                console.log('Looks like there was a problem. Status Code: ' +
                  response.status);
                return;
              }
              console.log('Fetch Success')
              response.json().then(function(dataData) {
                console.log(dataData.album.name);
                return dataData.album.name;
              });
            }
          )
          .catch(function(err) {
            console.log('Fetch Error :-S', err);
          });