gpt4 book ai didi

javascript - 在 javascript 中查看对象(底层)

转载 作者:行者123 更新时间:2023-12-03 07:28:18 25 4
gpt4 key购买 nike

我很好奇对象是如何在 Nodejs 中显示的,在本例中是 Promise。使用 console.log(promiseObject) 时,输出的类型为

{状态:待处理}

这对我来说似乎很奇怪,因为在该对象上调用了函数.then(),所以我希望在那里看到它。

使用此代码亲自尝试

 function a(){

var deferred = q.defer();

setTimeout(function(){
deferred.resolve();
},4000)

return deferred.promise;
}

var p1 = a()
console.log(p1)
//outputs {state:pending} while i was expecting something like
//while i was expecting it to be {state:pending,then:function()}

我觉得很神秘。我在浏览器中打印对象时也遇到了类似的问题,似乎有些字段是..隐藏的? (虽然我知道 JavaScript 中没有这样的东西)

最佳答案

使用调试器,您的浏览器可能有一个很好的调试器。在浏览器中按 F12,然后单击下面的运行按钮,您就可以探索 Promise 对象(适用于 Chrome/Chromium、Edge、Firefox):

console.clear();
var a = new Promise(function(res, rej) { res(); });
console.dir(a);

then()catch()等函数都在__proto__属性中。

关于javascript - 在 javascript 中查看对象(底层),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35912540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com