Node.js nodejs:如何将结果传递给其他函数?

Node.js nodejs:如何将结果传递给其他函数?,node.js,function,variables,Node.js,Function,Variables,我找到了这个nodejs包,我有正确结果的工作代码。但是,我不知道如何将这些结果传递给其他函数。我想要的是:从网页中获取一些信息,将其存储在变量中,传递给onesignal函数并发送onesignal通知(我使用的是onesignal节点包)。 这是我现在的代码: osmosis .get('url') .find('.content_body_left li') .set('day') .follow('a@href') .find('table tr') .delay(1000) .set(

我找到了这个nodejs包,我有正确结果的工作代码。但是,我不知道如何将这些结果传递给其他函数。我想要的是:从网页中获取一些信息,将其存储在变量中,传递给onesignal函数并发送onesignal通知(我使用的是onesignal节点包)。 这是我现在的代码:

osmosis
.get('url')
.find('.content_body_left li')
.set('day')
.follow('a@href')
.find('table tr')
.delay(1000)
.set({
  city: 'td[2]',
  street: 'td[3]',
  time:'td[4]'
})
.data(function(document) {
   var city = document['city'];  // <== this variable I want to get
   return city;
})
var firstNotification = new OneSignal.Notification({
    contents: {
     // en: "test msg"
        en: city // <== this is where I want to put variable
    }
});
所以,如果我把
var firstNotification=newonesignal.Notification({…})它说:“未定义firstNotification”。但是如果我把所有的代码放在
.data(function(document){…})
或promise中,它就工作了。但是,有没有办法让代码的另一半远离.data(或promise)?

试试看

osmosis
.get('url')
.find('.content_body_left li')
.set('day')
.follow('a@href')
.find('table tr')
.delay(1000)
.set({
  city: 'td[2]',
  street: 'td[3]',
  time:'td[4]'
})
.data(function(document) {
   var firstNotification = new OneSignal.Notification({
        contents: {
            // en: "test msg"
            en: document.city // <== this is where I want to put variable
        }
   });
})
渗透作用 .get('url') .find(“.content\u body\u left li”) .set('天') .跟随a@href') .find('table tr') .延迟(1000) .设置({ 城市:"td[2]",, 街道:"运输署(三)",, 时间:'td[4]' }) .数据(功能(文档){ var firstNotification=new-OneSignal.Notification({ 内容:{ //英语:“测试味精” en:document.city/试试看

渗透作用 .get('url') .find(“.content\u body\u left li”) .set('天') .跟随a@href') .find('table tr') .延迟(1000) .设置({ 城市:"td[2]",, 街道:"运输署(三)",, 时间:'td[4]' }) .数据(功能(文档){ var firstNotification=new-OneSignal.Notification({ 内容:{ //英语:“测试味精”
en:document.city/您可以将逻辑包装起来,以在承诺中获得城市

var promise = new Promise(resolve => {
  osmosis
  .get('url')
  .find('.content_body_left li')
  .set('day')
  .follow('a@href')
  .find('table tr')
  .delay(1000)
  .set({
    city: 'td[2]',
    street: 'td[3]',
    time:'td[4]'
  })
  .data(function(document) {
     var city = document['city'];  // <== this variable I want to get
     resolve(city);
  })
});


promise.then(city => {
  var firstNotification = new OneSignal.Notification({
    contents: {
     // en: "test msg"
        en: city // <== this is where I want to put variable
    }
  });
})
var承诺=新承诺(解析=>{
渗透作用
.get('url')
.find(“.content\u body\u left li”)
.set('天')
.跟随a@href')
.find('table tr')
.延迟(1000)
.设置({
城市:"td[2]",,
街道:"运输署(三)",,
时间:'td[4]'
})
.数据(功能(文档){
var city=document['city'];//{
var firstNotification=new-OneSignal.Notification({
内容:{
//英语:“测试味精”

en:city/您可以将逻辑包装起来,以在承诺中获得城市

var promise = new Promise(resolve => {
  osmosis
  .get('url')
  .find('.content_body_left li')
  .set('day')
  .follow('a@href')
  .find('table tr')
  .delay(1000)
  .set({
    city: 'td[2]',
    street: 'td[3]',
    time:'td[4]'
  })
  .data(function(document) {
     var city = document['city'];  // <== this variable I want to get
     resolve(city);
  })
});


promise.then(city => {
  var firstNotification = new OneSignal.Notification({
    contents: {
     // en: "test msg"
        en: city // <== this is where I want to put variable
    }
  });
})
var承诺=新承诺(解析=>{
渗透作用
.get('url')
.find(“.content\u body\u left li”)
.set('天')
.跟随a@href')
.find('table tr')
.延迟(1000)
.设置({
城市:"td[2]",,
街道:"运输署(三)",,
时间:'td[4]'
})
.数据(功能(文档){
var city=document['city'];//{
var firstNotification=new-OneSignal.Notification({
内容:{
//英语:“测试味精”

en:city//这可以工作,但我必须在其中扭曲另一半的信号代码。请参阅我的编辑。将另一半放入其中没有问题。这可以工作,但我必须在其中扭曲另一半的信号代码。请参阅我的编辑。将另一半放入其中没有问题。