Я подозреваю, что если бы вы дали нам более полное представление о вашей общей структуре, мы могли бы предложить более подходящий вариант выполнения ваших действий.
Но отвечая на ваш настоящий вопрос: вы 'Я должен был создать обещание немедленно, а не в ready
обратном вызове, но разрешить его в ready
обратном вызове.
Если , вам придется ждать ready
перед вызовомgetData
, тогда это одна из редких ситуаций, в которых имеет смысл использовать new Promise
, даже если вы уже получили обещание от getData
(из-за временной задержки вам нужно немедленное обещание, но вы хотите подождатьдля вызова getData
):
var promise1 = new Promise(function(resolve, reject) {
$(document).ready(function() {
getData(url).then(resolve).catch(reject);
});
});
Но , если только вам действительно не нужно ждать, пока ready
позвонит getData
, не надо (это не сразуимеет смысл подождать, чтобы получить некоторые данные, пока DOM страницы не будет завершен):
var promise1 = getData(url);