簡體   English   中英

異步函數,用於確定JavaScript對象中屬性的值

[英]Async Function to determine the value of a property in a JavaScript object

我需要設置“ myObject”的屬性,其值將在2500毫秒后解析。 因此,我正在使用Promise功能。

  const promise = new Promise(function(resolve,reject) {
        setTimeout(function(){
            resolve("Success!");
          }, 2500);
    });

    var myObject = {
        status : promise.then(function(success) {
            return success;
        })
    };

    console.log(myObject.status);

當我運行它時,我進入了NodeJS。

Promise { <pending> }

我在互聯網上找到的所有示例都說明了如何調用回調方法。 它們都沒有說明如何從異步調用中分配屬性的值。 我非常想自己解決這個問題。 給我指出一個正確的例子將非常有幫助。

您是否要在諾言解決后設置狀態值? 如果是這樣,則看不到promise的狀態為status,請在promise的回調中設置status的值:

var myObject = {
    status: 'not set'
};

promise.then(() => {
   myObject.status = 'set';
   console.log(myObject.status);
});

同樣,如果您在console.logconsole.log ,則status的值將在調用promise時顯示,而不是在promise解析時顯示。 這就是為什么在上面的示例中,我將調用放在回調中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM