下面是我的js代碼的架構。javascript中的同步代碼
self.addEventListener('push', function(event){
data = get_data();
API=url+data;
event.waitUntil(fetch(API).then(...)
)
})
我想使它成爲同步代碼。如何停止「API =網址+數據」;從執行直到get_data沒有完成?
下面是我的js代碼的架構。javascript中的同步代碼
self.addEventListener('push', function(event){
data = get_data();
API=url+data;
event.waitUntil(fetch(API).then(...)
)
})
我想使它成爲同步代碼。如何停止「API =網址+數據」;從執行直到get_data沒有完成?
當功能完成時,您可以使用回調。或者,請參見How should I call 3 functions in order to execute them one after the other?
您似乎已經在使用waitUntil
,所以解決方案很簡單:使用承諾!
讓get_data
返回一個承諾異步結果(而不是沒有),這樣就可以做
self.addEventListener('push', function(event) {
event.waitUntil(get_data().then(data => {
let API=url+data;
return fetch(API);
}).then(...));
})
這是什麼 - 'get_data'?這個函數有沒有異步動作? –
你沒有。 Javascript中沒有'waitUntil'。擁抱異步。 – Bergi