2016-02-05 92 views
-1

下面是我的js代碼的架構。javascript中的同步代碼

self.addEventListener('push', function(event){ 
data = get_data(); 
API=url+data; 
event.waitUntil(fetch(API).then(...) 
) 
}) 

我想使它成爲同步代碼。如何停止「API =網址+數據」;從執行直到get_data沒有完成?

+0

這是什麼 - 'get_data'?這個函數有沒有異步動作? –

+0

你沒有。 Javascript中沒有'waitUntil'。擁抱異步。 – Bergi

回答

0

您似乎已經在使用waitUntil,所以解決方案很簡單:使用承諾!

get_data返回一個承諾異步結果(而不是沒有),這樣就可以做

self.addEventListener('push', function(event) { 
    event.waitUntil(get_data().then(data => { 
    let API=url+data; 
    return fetch(API); 
    }).then(...)); 
})