ืืคื ื ืืื ืืืื ืจืืืื ืชื ืืคืชื JavaScript ืฉืืืืฉ ืืืขืืืืช ืืชืคืงืื ืืืืจ. ืขืืืช, ืฉื ืื ืื ืืื ืืจืืืื, ืืืงืฉ ืืืืืขืื ืืืชืื ืคืื ืงืฆืื ืฉืชืืฆืข ืืงืฉืช HTTP ืืื ืื ืชืฆืืื, ืชื ืกื ืฉืื ืืกืคืจ ืคืขืืื.
ืืื ืืชื ืืช ืืงืื ืืฉืืจืืช ืขื ืืืื, ืื ืื ืืกืคืืง ืืฆืืืจ ืืฉืื ืืฉืืขืจ. ืื ืืื ืคืฉืื ืืื ืืจืื ืฉืืื ืืืื ืืืื ืื ืืขื ืืื, ืืืื ื ืื ืืจืืฆืื. ืืื, ืืืจืื ืืฆืขืจ, ืืื ืื ืืฆืืื ืืืฆืื ืคืชืจืื ืืืฆืื. ืืืจ ืื, ืืืืื ื, ืชืื ืืชืจืืฉืืช, ืืืงื ืืขื ืขื ืืืฉืืื ืืืืงืฉื ื ืืื ื ืืืคืื ืคืื ืงืฆืื ืขื ืืชืงืฉืจืืืืช ืืคืื ืงืฆืื ืืื ืืื ืขื ืืืืืืช.
ืืื ืืืื. ืื, ืืื ืืจืืจ ืฉืืื ื ืชืงื ืืงืื ืืื ืืขืืจ. ืืื ืืืข ืืืืคื ืืืื ืืื ืืื ืขืืื ืฉื. ืื ืื ืฉืื ืื ื ืฆืจืืืื ืื ืฉืจืืื ืฉื ืคืชืจืื ืฉืืืืื ืืื ื ืฉื ืืืืฉื. ืืืื ืืงืื ืฉืืชื ืืืืขืื ืขื ืืืื ืืื ืฉืืืช ืืืืจื. ืืื ืื ืืืฉื ืืืื ืืขืืจืคื ืืืื ืืืืืืช ื-JavaScript ืืื ืืืืช ืืืื ืืื ืืืกืืืจ ืืืืข ืืฉ ืฆืืจื ืืื. ืขืืืจ ืืืืจ ืื ืืื ื ืกืื, ืืื ืืื ืืืจ ืื ืืชืืื ืืชืคืงืื ืฉื ืืืืจ. ืืื ืืืคืชื ืืื ืืืื ืืชืงื ืืืืื ืืฉืจืฉืจืช ืืืจืืืช ืฉื ืืืืืืช ืืืืกืืืจ ืืืืจืื ืื ืืืืืง ืืื ืขืฉื?
ืืคืชืืื ืจืืืื ืืงืื ืืืื ืืืื ืืืืื
ืืืืื ืชืืืื ืืคืืชืื, ืื ื ื ืชืงืืื ืื ืืืื ืืืืืจืื ืื ืืชื ืื ืืฉืืืืจ. ืื ื ืืขืืืจืื ืฉืืจื ืงืื ืืื ืฉืื ื ืฆืืจื ืืืชืื ืืืชื ืืืืฉ ืืื ืคืขื. ืืืชืื ืืื, ืขื ืืื ืืืงืื ืื ืชืฉืืืช ืืื ืฉืื ื ืืืืงื ืืืคืชื, ืื ื ืืกืชืืืื ืขื ืืงืื ืืืืืืจ ืืืชื ืื ื ืขืืืืื ืืืฉืื ืืืื ืืืืื โ ืื ื ืคืฉืื ืื ืืืื ืฉืืื ืืขืืื ืืื ืฉืฆืจืื.
ืืืืจื ืืื ืื ืื ืขืืื, ืืื ืืฉืืืืจืื ืืกืชืืืื, ืืื ืช ืืืื ืืงื ืืืชืจ ืืฉืชืืืช.
ืืคืืื, ืืืืขืื ืฉืื ื ืืชืคืงืื ืืคืชื ืืืืจ ืจืื ืืืืืืืงืื ืืืืื ืืืื ืื ืืืืืื. ืื ืจืื ืืื ืื ืจืขืืื ืืื ืืืชืืืื ืืืชื ืืฉืื ืืชืจืืฉืื ืืืคืฉืื ืืงืื ืฉื ืืืฉืื ืืืจ, ืืื ืืื ืื ืืืื ืืช ืืขืืงืจืื ืืืืื ืืื ืืืื ืืื ืืืืืจ ืขืืื ืืขืฆืื ืืืืื ืืจืืืื. ืืืื ืืื ืืืจ ืืช ืืฉืืจ ืืขื ืคื - ืื ืื ืื ืื ืงืฉื:
return new Promise((resolve, reject) => {
functionWithCallback((err, result) => {
return err ? reject(err) : resolve(result);
});
});
ืื ืื ื ืขืฉืืชื ืืช ืื - ืืื ืจืื ืฉืืืื ื ืขืฉืื ื ืืช ืื ืืฉืื ืืกืืื. ืื ืคืฉืื ืฉืื ื ื ืคืืกืช ืงืื ืืื ืฉืืืืื ืืืฉืชืืฉ ืื ืืืืืจ ืืืชืจ ืืขืืืืชื, ืชืื ืฉืื ืืืืขืื ืจืง ืืื ืืื ืขืื ืฉื. ืืื ืื ืืืคืชื ืืืืช ืืืื ืืช ืืจืขืืื, ืืื ืื ืืื ืฆืจืื ืืืืืจ ืืืื - ืืื ืคืฉืื ืืื ืืืืข ืืื ืืขืฉืืช ืืช ืื, ืืืฉืืืจ ืืงืืืช ืืช ืื ืื ืฉืืื ืฆืจืื ืืงืื.
ืชืืืืจ ืืฉืืจืฉืื
ื-2012, ืืฉืขืืืื ืื ืืชืืกืกื ืืืืืื ื ืืืืช ืฉื ืืกืืจืืช ืืืืชืืืช, jQuery ืฉืืื ืืขืืื, ืืื ื ืงืจืืชื ืืช ืืกืคืจ
ืืกืคืจ ืืืื ืืช ืืงืืจื ืืืฆื ืืืฆืืจ jQuery ืืฉืื ืืืคืก ืืืกืคืง ืชืืื ื ืืืืืืืช ืืชืืืื ืืืฉืืื ืฉืืืืื ืืืฆืืจืช ืืกืคืจืืื. ืืฉื ืื ืืืืจืื ืืช, jQuery ืืืืื ืืืคืืคืืืจืืืช ืืงืืืืช ืฉืื, ืืื ืื ื ืขืืืื ืืืืืฅ ืืืื ืขื ืืกืคืจ. ืื ืฉืืื ืืืืื ืืืชื ืื ืืืืชื ืืชืืืฉื ืืขืืงืฉืช ืฉืืืืืชื ืืืฉืื ืขื ืื ืื ืืขืฆืื. ืืฆืขืืื ืฉืืืืชื ืชืืืจ ื ืจืื ืื ืื ืืืืื ืืื, ืื ืื ืืจืืจืื ืฉืืชืืืชื ืืืฉืื ืืจืฆืื ืืช ืฉืืืื ืืืฆืืจ jQuery ืืงืืืช ืื ืจืง ืืืืข ืืื.
ืืืืื ืฉืืืฆืืืืช ืื ืืืืชื ืืฆืืื ืืขืฉืืช ืืืจ ืืื โ ืืืืชื ืืืืื ืฉืื ืงืฉื ืื ืฉืื. ืืคืชืจืื ืืช ืฉืื ืืืจืื ืคืฉืืืื ืืชืืืืื ืืืื ืืขืืื, ืืืืืชื ืืืืชืจ. ืืืืชื ืืกืืื ืืช jQuery ืืืืจืื ืืืื ืื ืืืืืื, ืฉืืคืขืืื ืื ืืื ื ืฉืืื ืืชื ืจืง ืฆืจืื ืืืืืื ืืืืคื ืขืืืืจ. ืืืืจ ืืื, ืืงืืฉื ืืืืชื ืืืืื ืืื ืืืชืขืืงืืช ืืืื ืืงื ืฉื ืืกืคืจืืื ืืื, ืืื ืคืฉืื ืืฉืชืืฉ ืื ืืกืื ืฉื ืงืืคืกื ืฉืืืจื.
ืืื ืืงืจืืื ืืกืคืจ ืืื ืืคืื ืืืชื ืืืื ืืืจ. ืืชืืืชื ืืงืจืื ืืช ืงืื ืืืงืืจ ืืืืืืชื ืฉืืืืฉืื ืฉื ืคืชืจืื ืืช ืจืืื ืืื ืืืขืฉื ืืืื ืฉืงืืฃ, ืืคืืื ืืจืืจ. ืื, ืืืืื, ืืืฉืื ืขื ืืฉืื ืืื ืืื ืื ืกืืคืืจ ืืืจ. ืืื ืื ืืืืื ืืงืื ืฉื ืื ืฉืื ืืืจืื ืืฉืืืืจ ืคืชืจืื ืืช ืงืืืืื ืฉืขืืืจืื ืื ื ืืืืฆืื ืืฉืื ืืฉืื ื.
ืืืฉืจืื ืฉืชืงืื ืืืืคืืกืื ืฉืืชื ืืชืืื ืืืืืื ืืื ืืฉื ื ืืืชื ืืืคืชื. ืชืืื ืฉืืืชื ืกืคืจืืื ื ืคืืื ืฉืืชื ืืฉืชืืฉืื ืื ืื ืืืื ืืฉืืชื ืจืืืืื ืืืฉืื ืขืืื ืืขื ืืคืฅ ืงืกืื ืืืื ืื ืขืืืืช ืขื ืงืกื, ืืื ืคืฉืื ืคืืชืจืช ืืขืื ืืฆืืจื ืืงืื ืืช ืืชืืฉืืื.
ืืคืขืืื ืชืฆืืจื ืืืชืขืืง ืืงืื, ืื ืชื ืืืชื ืฉืื ืืืจ ืฉืื, ืืื ืื, ืืฆืขืืื ืงืื ืื ืืขืงืืืื, ืชืืื ืืืืืจ ืขื ืืจืื ืฉื ืืืืืจ ืืคืชืจืื. ืื ืืืคืฉืจ ืื ืืฆืืื ืขืืืง ืืืชืจ ืืชืื ืชืืืื ืืงืืืื ืืืชืช ืื ืืืชืจ ืืืืืื ืืืืฆืืช ืคืชืจืื ืืช ืืฉืื.
ืืฉืืชืืืชื ืืขืืื ืขื ืืืืืืช, ืื ื ืจืื ืื ืืื ืงืกื ืืืืจ. ืืื ืืืืืชื ืฉืื ืืืืกืกืื ืขื ืืืชื ืืชืงืฉืจืืืืช, ืืขืืื ืืชืื ืืช ืฉืื ืืชืืคื. ืื ืืชืื ืืช, ืฉืืืจืชื ืืืฆืื ืืืชื ื ืืืืืจืืช, ืืืืฉืืช ืืขืฆืื ืืืืฆืขืืช ืืชืงืฉืจืืืืช?!
ืื ืขืืจ ืื ืืืกืชืื ืขื ืืขื ืืื ืืขืื ืืื ืืืจืืช ืืืืืื ืฉืื ืืืืืจ ืืืืื ืคืืกืช ืงืื ืืขืืจืคืืช ืฉืืืื, ืฉืืช ืืืืจืืืืช ืืืืชื ื ืกืืืช ืฉืื ืื ืืืื ืืืืื ืฉืื. ืืื ืจืง ืืคืืกืื ืฉื ืืชื ืืืืื ืืื ืืขืืืช ืขื ืกืงืจื ืืช ืืืืืื ืขืืืงื. ืื ืื ืฉืื ืืืืืื ืืงืื ืืืฆืืื ืืืคืชืืื.
ืืืืฆืื ืืืืฉ ืืช ืืืืื ืืื
ืื ืงืืืื, ืืืฆืืื ืืืืฉ ืืช ืืืืืืื: ืืชืื ืงืื ืืืืื ื ืชืื ืื ืืฉืื, ืฆืืจ ืืืืื ืืืชืืช, ืื ืืคืืื ืฆืืจ ืคืชืจืื ืืฉืื ืื ืืืื ืืืืื ื.
ืื ืื ืืฉื ื ืฉืืฃ ืืื ืืขืืื ืื ืืฉืชืืฉ ืืื ืื - ืืื ืขืืฉืื ืืชื ืืืืข ืืื ืืขืฉืืช ืืช ืื. ืืื ืืฉ ืื ืืืืื ืืช ืืืฉืชืืฉ ืืืืจ ืืื ืืคืืชืืืื ืืืื ืืคืจืืืงืืื ืฉืื, ืื ืื ืืืจื ืืื ื ืืืจ. ืชืืื ืืคืชื ืืืชื ืืืืืื ืืฉืื ืืืจ.
ืื ืงืืื ืืื ืืื ืื ืืฉืืื ืืช ืืงืื ืฉืื ืืืืฆืืจ, ืืื ืืืืื ืืฉืื ืืืฉ. ืืชืืืช ืืืฉืื ืืฉืื ืฉื ืคืชืจืื ืงืืื ืืื ืืจื ืืฆืืื ืช ืืืืื ืืืืชืื ืชืื ืืืืืื ืืืืชืจ ืืืื ืืืื ืืช ืืืฉืืจืื.
ืืงืืจ: www.habr.com