2017-06-14 30 views
0

我剛剛開始使用Chrome擴展程序。Chrome擴展程序 - 結果始終爲空

在我content.js我有以下

chrome.runtime.sendMessage("", function(response){ 
    //some logic 
}); 

而且在background.js

chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { 
    sendResponse(someFunction); 
    return true; 
}); 

function someFunction(para) { 
    //logic 
} 

的問題是,在content.js的response永遠是不確定的......類似的帖子在這個網站上通常是由於異步調用,如ajax,但我沒有做任何異步,我回到了真正的根據文檔返回的方法...我只能假設我的邏輯是一些倒退?

我做錯了什麼?

+0

刪除括號 - 它只是:'AddToBody parent'。或者像這樣使用'Call':'Call AddToBody(parent)' – Rory

回答

2

你不能發送一個函數(「someFunction」)作爲迴應。響應對象必須是可序列化的。

+0

這是答案。我現在知道了。我無法返回一個函數......我希望能夠將回應用作回調,但這似乎不可能。 – MyDaftQuestions

+0

即時通訊不知道如何遵循你的想法。你的功能已經回撥。爲什麼你需要回撥?那就是你使用消息傳遞的原因。 –