Javascript 异步返回值

Javascript 异步返回值,javascript,Javascript,是否可以在异步代码中返回值 例如,我有一些异步代码如下所示: async function(a,b){ fetch('url'+b) .then(res) => res.json()) .then(data) => obj = data .then() => { //writes to html just fine var x = obj.jsonvalue; var y = obj.otherjs

是否可以在异步代码中返回值

例如,我有一些异步代码如下所示:

async function(a,b){
    fetch('url'+b)
    .then(res) => res.json())
    .then(data) => obj = data
    .then() => {
        //writes to html just fine
        var x = obj.jsonvalue;
        var y = obj.otherjsonvalue;

        //create an array of these values
        var z = [x,y];
        return z;
}

显然,当它返回“z”时,我可以看出它只是在返回一个承诺。有没有一种方法可以返回z的实际值,即数组?

也许您正在寻找类似以下示例的内容:

var承诺=新承诺(函数(解析){
决心(1+1);
});
var结果=承诺。然后(函数(x){
返回x+1;
});
(异步函数(){
var编号=等待结果;
console.log(编号);//3

}());不,当使用异步的东西时,您总是必须使用
等待
或调用
。然后
承诺
上获取它解析的值。顺便说一句,您的代码有几个语法错误。
返回z
实际上返回
z
<但是,code>then()
返回一个
Promise
。我认为您误解了异步编程和JS承诺的工作原理。