Javascript/JQuery/Output使用JQuery.get调用端点时promise和wait之间的不同输出

Javascript/JQuery/Output使用JQuery.get调用端点时promise和wait之间的不同输出,javascript,jquery,ecmascript-6,async-await,es6-promise,Javascript,Jquery,Ecmascript 6,Async Await,Es6 Promise,我使用JQuery和promises从模拟端点获取一些模拟数据 出于这个原因,我想尝试使用async/await使其工作 我想我找到了一些有效的代码,尽管我在控制台中没有得到相同的输出(在chrome浏览器中) 以下是两段代码: import $ from 'jquery'; let myPromise = $.get("http://5e2f41529c29c900145db22d.mockapi.io/test/users"); myPromise .then(

我使用JQuery和promises从模拟端点获取一些模拟数据

出于这个原因,我想尝试使用async/await使其工作

我想我找到了一些有效的代码,尽管我在控制台中没有得到相同的输出(在chrome浏览器中)

以下是两段代码:

import $ from 'jquery';

let myPromise = $.get("http://5e2f41529c29c900145db22d.mockapi.io/test/users");

myPromise
    .then(
        (data) => {
            console.log('Success promises: ', data);
        }
    )
    .catch(
        (error) => {
            console.log('Error : ', error.responseText);
        }
    );

它们输出:

我不知道有什么区别。 有人知道我为什么得到不同的输出吗?它们都是什么意思


谢谢大家!

基于承诺的代码和
async
/
wait
都是正确的,除了一个小的(因此很难发现)差异外,它们做的是相同的事情

基于承诺的版本的记录器代码:

console.log('Success promises: ', data);
…按预期记录结果

但是,在异步函数中,
console.log
包含一个
+
运算符,该运算符将其第二个操作数(数据)转换为字符串,因此所有对象都转换为
“[对象]”


将数据作为
console.log的第二个参数传递(正如您对promise版本所做的那样),您将得到预期的结果。

在异步版本中将
+
更改为
。同样,您只需在console.log中将对象视为带“+”的字符串('Success async:'+users);哇,不太亮啊哈。。非常感谢大家!!!非常感谢您的时间和解释!
console.log('Success promises: ', data);
console.log('Success Async: ' + users);