小编skj*_*l93的帖子

下载url chrome扩展程序

我正在尝试通过编写chrome扩展代码来下载URL.这是myscript.js文件:

chrome.downloads.download(
    {url: 'http://www.iana.org/_img/iana-logo-pageheader.png',
     saveAs: true
    },
    function(res){alert(res);});
Run Code Online (Sandbox Code Playgroud)

这是我的manifest.json

{
  "name": "My extension",
  "version": "1.0",
  "manifest_version":2,
  "background_page": "background.html",
  "browser_action": {
    "name": "Manipulate DOM",
    "icons": ["icon.png"],
    "default_icon": "icon.png"
  },
  "permissions": ["downloads",
    "tabs", "http://*/*","https://*/*"
  ],
  "content_scripts": [
    {
      "matches": [ "http://*/*", "https://*/*"],
      "js": ["jquery.js","d3.v2.js","myscript.js"],
      "run_at": "document_end"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但控制台显示错误"无法调用方法'下载'未定义".请帮我.

google-chrome-extension

5
推荐指数
1
解决办法
7288
查看次数

重写Promise构造函数及其方法

我想覆盖Promise构造函数和Promise中的then方法。因此,每当有人创建一个新的Promise对象时,首先将执行我的代码,然后将调用原始的promise构造函数。

同样,当有人调用Promise的.then函数时,首先将执行我的代码,然后将执行该then函数的回调。

我试过了

var bind = Function.bind;
var unbind = bind.bind(bind);

function instantiate(constructor, args) {
    return new (unbind(constructor, null).apply(null, args));
}

var oldProto = Promise.prototype;
Promise = function() {
    console.log("Promise instantiated");
    var promise = instantiate(Promise, arguments);
    return promise;
};
Promise.prototype = oldProto;
Run Code Online (Sandbox Code Playgroud)

当使用

var myFirstPromise = new Promise((resolve, reject) => {
  setTimeout(function(){
    resolve("Success!"); // Yay! Everything went well!
  }, 250);
});

myFirstPromise.then((successMessage) => {
  console.log("Yay! " + successMessage);
});
Run Code Online (Sandbox Code Playgroud)

它导致无限循环,控制台充满了Promise instantiated日志。我还尝试了以下方法:

Promise = function(Promise) {
    MyPromise.prototype …
Run Code Online (Sandbox Code Playgroud)

javascript overriding prototype monkeypatching promise

5
推荐指数
0
解决办法
373
查看次数

Q.all如何在NodeJS中工作?

我有以下代码:

var a = [1,2,3,4,5];
var promises = [];
a.forEach(function(item,index){
    var deferred = Q.defer();
    doSomething().then(function(){
        deferred.resolve(true);
        promises.push(deferred);
    });
});

Q.all(promises).then(function(data){
    console.log("something!!");
});
Run Code Online (Sandbox Code Playgroud)

Q.all如何知道promises数组具有forEach循环所需的所有承诺?有时候,我的Q.all会在forEach之前运行.请告诉我哪里出错了.

doSomething()是一个返回promise的异步函数.

javascript node.js promise q

3
推荐指数
1
解决办法
8143
查看次数

从数据库加载数据:Template7和Framework7

我使用Template7和Framework7使用PhoneGap构建iOS应用程序.我正在阅读教程

my-app.js文件

// Initialize your app
var myApp = new Framework7({
    init: false
});

// Export selectors engine
var $$ = Dom7;

// Add view
var mainView = myApp.addView('.view-main', {
    // Because we use fixed-through navbar we can enable dynamic navbar
    dynamicNavbar: true
});

myApp.onPageInit('index', function (page) {
    document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {}
});

myApp.init();

// Callbacks to run specific code for specific pages, for example for About page:
myApp.onPageInit('about', function (page) {
    console.log('Baga');
    // run createContentPage func …
Run Code Online (Sandbox Code Playgroud)

javascript template-engine cordova html-framework-7

3
推荐指数
1
解决办法
1万
查看次数

批量插入 Impala 花费太多时间

我正在使用 Impala JDBC 驱动程序将数据批量插入到 Impala 中。我目前的批处理大小为 1000,并使用PreparedStatement 的 INSERT INTO VALUES 子句来执行批处理查询。Impala Daemon 在 3 台机器上运行,Impala Catalog Server、状态存储在第 4 台机器上运行。

Impala 上的批量插入查询计划如下所示:

Query Timeline: 35s398ms
   - Query submitted: 0.000ns (0.000ns)
   - Planning finished: 34s822ms (34s822ms)
   - Submit for admission: 34s886ms (63.997ms)
   - Completed admission: 34s886ms (0.000ns)
   - Ready to start 1 fragment instances: 34s886ms (0.000ns)
   - All 1 fragment instances started: 34s958ms (71.997ms)
   - DML data written: 35s082ms (123.996ms)
   - DML Metastore update finished: 35s286ms (203.993ms)
   - Request finished: 35s298ms …
Run Code Online (Sandbox Code Playgroud)

jdbc prepared-statement cloudera impala

0
推荐指数
1
解决办法
5671
查看次数