使用Promises或Async / Await填充表单

时间:2018-01-22 12:50:30

标签: javascript asynchronous

我尝试使用JavaScript承诺或异步/等待(或类似)来填充表单,但似乎无法获得它。我尝试import ExecutionEnvironment from 'exenv'; if (ExecutionEnvironment.canUseDOM) { require("third-party-file.js"); } .then的结果相同:如果其中一个"得到"函数占用的时间比getPunchlistItem函数长,实际值会被覆盖。

Promise.all

我的异步功能如下:

var myFSEs = [];
var myTypes = [];
var myPeople = [];

$(document).ready(function () {
  getFSEs("itemFSE", "Select FSE...")
    .then(getPersons("itemResponsible", "Select Person..."))
    .then(getTypes("itemType", "Select Type..."))
    .then(getPunchlistItem(myPLItemID));
 //or
  Promise.all([getFSEs("itemFSE", "Select FSE..."), getPersons("itemResponsible", "Select Person..."), getTypes("itemType", "Select Type...")]).then(function () {
    getPunchlistItem(myPLItemID);
  });
});

Form Population Issue

我错过了什么?

1 个答案:

答案 0 :(得分:0)

以下是我提出的解决方案:

jpeg

我的“获取”功能如下所示:

var myFSEs = [];
var myTypes = [];
var myPeople = [];

$(document).ready(function () {
    (async () => {
        await getFSEs("FSEs", "All FSEs");
        await getPersons("Persons", "All Personnel");
        await getTypes("itemType", "Select Type...");
        getPunchlistItem(myPLItemID);
    })()    //  async
});
相关问题