如何將一個承諾的結果保存到一個變量,并將其傳遞到另一個函數?

我為我的項目制作日歷,需要使用“CalendarPicker()函數”中服務器上的服務數據。我從服務器獲取數據作為承諾,并嘗試在“function CalendarPicker()”中使用它,但總是未定義。我怎么能強迫它?

async function _getMeetingsData() {
    let response = await fetch('calendar');
    let data = await response.json();
    data = JSON.stringify(data);
    return data;
}

function CalendarPicker() {
    //Get meeting data
    this.meetingsData = _getMeetingsData();

    this._insertNavigationButtons();
    this._insertHeaderIntoCalendarWrapper();
    this._insertCalendarGridDaysHeader();
    this._insertDaysIntoGrid();
    this._insertCalendarIntoWrapper();
}

const myCalender = new CalendarPicker();
? 最佳回答:

您的數據需要有一個async構造函數(可以說是奇數)或await,因為每個async函數都隱式地是一個承諾,即使它同步地返回一個值。。。所以:

function CalendarPicker() {
  //Get meeting data ... then
  _getMeetingsData().then(meetingsData => {
    this.meetingsData = meetingsData;
    this._insertNavigationButtons();
    this._insertHeaderIntoCalendarWrapper();
    this._insertCalendarGridDaysHeader();
    this._insertDaysIntoGrid();
    this._insertCalendarIntoWrapper();
  });
}

這是可行的,但如果您有任何需要該數據的原型方法,則最好存儲以下承諾:

function CalendarPicker() {
  //Get meeting data ... then
  this._meetingsData = _getMeetingsData().then(meetingsData => {
    this.meetingsData = meetingsData;
    this._insertNavigationButtons();
    this._insertHeaderIntoCalendarWrapper();
    this._insertCalendarGridDaysHeader();
    this._insertDaysIntoGrid();
    this._insertCalendarIntoWrapper();
  });
}

CalendarPicker.prototype.doThings = function () {
  this._meetingsData.then(() => {
    console.log(this.meetingsData);
  });
};
主站蜘蛛池模板: 夜精品a一区二区三区| 精品无码AV一区二区三区不卡| 一区在线免费观看| 亚洲欧洲精品一区二区三区| 国产午夜福利精品一区二区三区| 麻豆视传媒一区二区三区| 色一情一乱一伦一区二区三欧美| 亚洲成人一区二区| 一区二区3区免费视频| 变态调教一区二区三区| 精品一区二区三区无码免费直播| 亚洲高清毛片一区二区| 亚洲午夜精品一区二区公牛电影院| 日本免费一区二区久久人人澡| aⅴ一区二区三区无卡无码| 亚洲福利精品一区二区三区| 亚洲国产综合精品一区在线播放| 色系一区二区三区四区五区| 福利片福利一区二区三区| 国产在线观看一区二区三区| 国产亚洲福利一区二区免费看| 国产一区二区三区不卡在线看| 无码少妇一区二区浪潮av| 久久亚洲色一区二区三区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 97久久精品无码一区二区| 亚洲AV一区二区三区四区| 国产日韩精品一区二区在线观看 | 国产亚洲欧洲Aⅴ综合一区| 精品国产亚洲一区二区在线观看 | 国产一区二区三区在线看| 无码人妻久久一区二区三区免费| 69福利视频一区二区| 国模精品一区二区三区视频| 天天爽夜夜爽人人爽一区二区 | 久久无码AV一区二区三区| 精品少妇人妻AV一区二区| 国产成人一区二区在线不卡| 中文字幕日韩一区二区三区不| 无码精品视频一区二区三区| 亚洲AV无码一区二区三区牛牛 |