Я знаю, что bixby developer Studio - новенькая, но у меня проблема с выполнением двух http-вызовов в одной функции javascript: сначала для получения пользовательского идентификатора из службы, а затем для получения данных из службы на основе этого. идентификатор.
Я пробовал следующие вещи:
module.exports.function = function(phoneNumber,couponBrand)
{
if(phoneLookup(phoneNumber))
{
return getCoupons(couponBrand)
}
else
{
return null
}
}
Который не вызывает ни одну из функций ...
Тогда я попытался вызвать первую функцию как предварительное условие:
module.exports = {
function:getCoupons,
preconditions:[phoneLookup]
}
Который не вызывает функцию, а только вызывает функцию предусловия ...
Затем я также попытался сделать очень обратную схему обратного вызова nodeJS, в которой внутри функции phoneLookup я вызывал функцию getCoupons и передавал функцию в качестве параметра, затем в конце функции getCoupons я вызываю функцию параметра в качестве обратного вызова при передаче значений, полученных в функция phoneLookup, вот так:
function getCoupons(json,callback)
{
var endpoint = //removed for security
var body = //removed for brevity
var options = //removed for brevity
var response = http.postUrl(endpoint,body,options)
var json = response.parsed
callback(json)
}
module.exports.function = function phoneLookup(phoneNumber,couponBrand)
{
var endpoint = //removed for security
var body = //removed for brevity
var options = //removed for brevity
var response = http.postUrl(endpoint,body,options)
var json = response.parsed
getCoupons(json,function(results)
{
return results
})
}
К сожалению, это не вызывает функцию обратного вызова или, по крайней мере, не ожидает завершения второго http-вызова в функции getCoupons, прежде чем вернуться к модели, которую я перечислил в выводе ...
У кого-нибудь есть мысли?