UNPKG

mo-framework

Version:

Hybrid mobile app framework with generators

43 lines (36 loc) 1.26 kB
define(['vow', '../vkontakte/vendorSdk'], function (vow, vendorSdk) { var callbacksAdded = false, purchaseDeferred = null; function addCallbacks () { vendorSdk.promise().then(function (VK) { VK.addCallback('onOrderSuccess', function () { if (purchaseDeferred) { purchaseDeferred.resolve(); } }); VK.addCallback('onOrderFail', function (err) { if (purchaseDeferred) { purchaseDeferred.reject('Покупка не удалась. Ошибка #' + err); } }); VK.addCallback('onOrderCancel', function () { if (purchaseDeferred) { purchaseDeferred.reject('Покупка была отменена'); } }); }); } return function (item) { if (!callbacksAdded) { addCallbacks(); } return vendorSdk.promise().then(function (VK) { purchaseDeferred = vow.defer(); VK.callMethod('showOrderBox', { type: 'item', item: item }); return purchaseDeferred.promise(); }); } });