我知道 bixby 开发人员工作室是全新的,但我在一个 javascript 函数中进行两个 http 调用时遇到问题,第一个是从服务中获取自定义标识符,第二个是根据该标识符从服务中获取数据。
我尝试了以下事情:
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
})
}
可悲的是,这不会调用回调函数,或者至少不会等待 getCoupons 函数中的第二个 http 调用完成,然后再返回到我在输出中列出的模型......
有人有什么想法吗?