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