我有一個小問題,這個腳本作品完美,有一個問題,「runTenant」方法沒有返回一個承諾(需要從「所有()」解決節點返回BluebirdJS答應
此代碼:
Promise.resolve(runTenant(latest)).then(function() {
end();
});
調用此代碼:
function runTenant(cb) {
return new Promise(function() {
//global var
if (!Tenant) {
loadCoreModels();
Tenant = bookshelf.core.bs.model('Tenant');
}
new Tenant().fetchAll()
.then(function(tenants) {
if (tenants.models.length == 0) {
return;
} else {
async.eachSeries(tenants.models, function(tenant, next) {
var account = tenant.attributes;
Promise.resolve(db_tenant.config(account)).then(function(knex_tenant_config) {
if (knex_tenant_config) {
db_tenant.invalidateRequireCacheForFile('knex');
var knex_tenant = require('knex')(knex_tenant_config);
var knex_pending = cb(knex_tenant);
Promise.resolve(knex_pending).then(function() {
next(null, null);
});
} else {
next(null, null);
}
});
});
};
});
});
}
從runTenant代碼工作正常但它檔,不繼續執行「結束()」,因爲自許「runTenant(最新)」 ISN」不要解決。
好像它不明顯,我對承諾感到恐怖。仍在努力讓我的頭在他們周圍。
非常感謝任何幫助/方向!
控制檯中的任何錯誤? – JordanHendrix