Я тестирую приложение angular js salesforce с помощью транспортира. Мне нужно запросить идентификаторы с помощью SOQL и jsforce, однако, когда я вызываю метод запроса из другого класса, результат возврата не определен. Когда я распечатываю журнал в методе, он показывает, что идентификатор, который я ищу, кажется, теряется в операторе возврата.
var jsforce = require('jsforce');
function querySF() {
var conn = new jsforce.Connection({
// you can change loginUrl to connect to sandbox or prerelease env.
loginUrl: 'https://www.salesforce.com'
});
conn.login('some username', 'some password', function(err, userInfo) {
if (err) {
return console.error(err);
}
// Now you can get the access token and instance URL information.
// Save them to establish connection next time.
console.log(conn.accessToken);
console.log(conn.instanceUrl);
// logged in user property
console.log("User ID: " + userInfo.id);
console.log("Org ID: " + userInfo.organizationId);
// ...
}).then(function() {
conn.query("SELECT Id FROM anObject__c Where name = 'the name'", function(err, result) {
if (err) {
return console.error(err);
}
var records = [];
console.log("total : " + result.totalSize);
console.log("fetched : " + result.records.length);
// is returning the id
console.log(result.records[0].Id);
// the class that calls the methods saves it to a variable, the variable is undefined
return result.records[0].Id;
});
});
}
Ошибка: Helper.querySF не является функцией TypeError: Helper.querySF не является функцией в Object.it (C: \ LimService \ LSApp \ tests \ specs \ bookingEvents \ EditBookingEventTest.js: 23: 12) в C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ jasminewd2 \ index.js: 112: 25 в новом ManagedPromise (C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ обещание.js: 1067: 7) в ControlFlow.promise (C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ обещание.js: 2396: 12) в schedulerExecute (C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ jasminewd2 \ index.js: 95: 18) в TaskQueue.execute_ (C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ prom.js: 2970: 14) в TaskQueue.executeNext_ (C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ li b \ обещание.js: 2953: 27) в asyncRun (C: \ Users \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ обещание.js: 2860: 25) в C: \ Пользователи \ nphillips \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ обещание.js: 676: 7
return conn.login(...).then(...)
иreturn conn.query(...)
- person Thomas   schedule 23.05.2017Helper.querySF
не является функцией. Что означаетHelper
вEditBookingEventTest.js
строке 23? - person Thomas   schedule 24.05.2017querySF
? Вот что имел в виду последний вопрос. Вы проверили, что именно упоминается под именемHelper
в этом файле, в этой строке? - person Thomas   schedule 24.05.2017exports.querySF = querySF;
не результат вызванной функции. - person Thomas   schedule 24.05.2017