Próbuję owinąć głowę wokół obiektu obietnicy w javascript.So tutaj mam ten mały kawałek kodu.Mam obiekt obietnicy i dwa console.log() po obu stronach obiektu obietnicy. Myślałem, że to wydrukowaćzrozumienie obiektu obietnicy javascript
Hi
Nie
zami
ale drukowane
HI
zami
there
dlaczego tak jest.i nie rozumieją, jak działa obietnica, ale rozumiem, jak działa asynchroniczne wywołanie zwrotne w javascript.Can ktoś rzucić trochę światła na ten temat?
console.log('hi');
var myPromise = new Promise(function (resolve, reject) {
if (true) {
resolve('There!');
} else {
reject('Aww, didn\'t work.');
}
});
myPromise.then(function (result) {
// Resolve callback.
console.log(result);
}, function (result) {
// Reject callback.
console.error(result);
});
console.log('zami');
dzięki czemu jest asynchroniczny jak inne apisy internetowe, takie jak setTimeout, wywołanie ajax itp. Który kod wewnątrz obiektu pormise będzie asynchroniczny? –
Tak, obietnice działają bardzo podobnie do setTimeout. Możesz składać obietnice z setTimeout, jak pokazano tutaj http://stackoverflow.com/questions/34255351/is-there-a-version-of-settimeout-that-returns-an-es6-promise –
W niektórych przykładach widzę pisarzy napisał kod ajax wewnątrz obiektu obietnicy.AJAX jest domyślnie asynchroniczny. Dlaczego używać go w obietnicach? –