Javascript 同步运行时-async确保函数是异步的,与您想要的相反。。。你是说sequentially@JaromandaX是的,我的意思是依次地好。这是完全可能的,然后只需更新以添加代码链接 let isMomHappy = true; function willI
Javascript 同步运行时-async确保函数是异步的,与您想要的相反。。。你是说sequentially@JaromandaX是的,我的意思是依次地好。这是完全可能的,然后只需更新以添加代码链接 let isMomHappy = true; function willI,javascript,asynchronous,async-await,Javascript,Asynchronous,Async Await,同步运行时-async确保函数是异步的,与您想要的相反。。。你是说sequentially@JaromandaX是的,我的意思是依次地好。这是完全可能的,然后只需更新以添加代码链接 let isMomHappy = true; function willIgotNewPhone () { return new Promise( (resolve, reject) => { if (isMomHappy) { const phone = {
同步运行时-
async
确保函数是异步的,与您想要的相反。。。你是说sequentially@JaromandaX是的,我的意思是依次地好。这是完全可能的,然后只需更新以添加代码链接
let isMomHappy = true;
function willIgotNewPhone () {
return new Promise( (resolve, reject) => {
if (isMomHappy) {
const phone = {
brand: 'samsung',
color : 'black'
};
resolve(phone);
} else {
const reason = new Error('mom not happy');
reject(reason);
}
});
}
async function showOff(phone) {
return new Promise( (resolve, reject) => {
const message = ' Hey Friend I show my phone ' + phone.brand;
resolve(message);
});
}
async function askMom() {
return await new Promise( async (resolve) => {
console.log('before asking Mom'); // log before
await willIgotNewPhone()
.then( function(fullfilled) {
console.log('Got phone from mom ' + JSON.stringify(fullfilled));
})
.catch( function(error) {
console.log(error.message);
});
console.log('after asking Mom'); // afeter log
resolve('END');
});
}
let data: any[] = [];
async function createData() {
return new Promise( (resolve, reject) => {
for (let index = 0; index < 500000; index++) {
const element: any = {};
element.id = index;
element.name = '' + index;
data.push(element);
}
if (data && data.length > 0) {
console.log(' ====== creating data size=%s', data.length);
resolve(data);
} else {
reject( new Error(' ==== Creating data Error : empty'));
}
});
}
async function callCreateData() {
return new Promise( async (resolve) => {
console.log(' ======before creating data');
await createData().then( (dataReturn: any[]) => {
console.log(' ----datareturn length=%s', dataReturn.length);
});
console.log(' ======after creating data');
});
}
async function callingMom() {
await askMom().then( (str) => {
console.log(str);
});
}
callingMom();
callCreateData();
before asking Mom
Got phone from mom {"brand":"samsung","color":"black"}
after asking Mom
=====before creating creating data
===== creating data size=500000
----datareturn length=500000
===== after creating creating data
before asking Mom
======before creating data
====== creating data size=500000
Got phone from mom {"brand":"samsung","color":"black"}
----datareturn length=500000
======after creating data
after asking Mom
END
callingMom().then(callCreateData);