2017-04-25 1 views
0

だから、Observable.addで写真を追加していますが、UserNameFeedの情報を取得するために関数/要求を実行する必要があります。 .add`.add`の中で関数を実行する

var Photo = Observable(); 
Photo.add({ 
    photoDateFeed: element.theDate, 
    imgurl: "https://res.cloudinary.com/" + element.photos.value, 
    UserFEEDid: element.userid, 
    UserNameFeed: (run a javascript function???) 
}); 

私はこれが可能

+0

機能が正確に何をしているかによって異なります。この関数を呼び出すことは 'foo()'のように簡単です。 –

+0

これは '[rxjs]'というタグが付いているのでしょうか、今度は来るべき言語固有のものですか? (深刻な質問、私は知らない。) – apsillers

答えて

2

ある場合は、次のステップでそれを行うことができますかわからない:

  1. 機能を実装します。
  2. お電話ください。

あなたの関数がちょうどあなたが非同期操作を行う必要がある場合は、それを書き換える必要があり、引数リストで

function yourFunction(element){ 
    var result = 'Name ' + element.userid;// Do what you want 
    return result; 
} 
var Photo = Observable(); 
Photo.add({ 
    photoDateFeed: element.theDate, 
    imgurl: "https://res.cloudinary.com/" + element.photos.value, 
    UserFEEDid: element.userid, 
    UserNameFeed: yourFunction(element) 
}); 

を中に追加し、パラメータを受け入れる必要がある場合は最終的なコードは、その

function yourFunction(){ 
    var result = 'Name';// Do what you want 
    return result; 
} 
var Photo = Observable(); 
Photo.add({ 
    photoDateFeed: element.theDate, 
    imgurl: "https://res.cloudinary.com/" + element.photos.value, 
    UserFEEDid: element.userid, 
    UserNameFeed: yourFunction() 
}); 

のようになります。非同期スタイル:

function yourFunction(element, callback){ 
    // get name in async 
    $.ajax({ 
     ... 
     success: function(result) { 
      // Do what you want 
      callback(result) 
     } 
    }); 
} 
var Photo = Observable(); 
yourFunction(element, function(result){ 
    Photo.add({ 
     photoDateFeed: element.theDate, 
     imgurl: "https://res.cloudinary.com/" + element.photos.value, 
     UserFEEDid: element.userid, 
     UserNameFeed: result 
    }); 
}); 
関連する問題